使用python Tkinter,我希望在鼠标点击一个按键时将文本放置在随机位置。这里是我的代码:如何在屏幕上的随机位置使用Tkinter.Text显示文本
from Tkinter import *
import sys
from random import randint
root = Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = 10
y = 10
def key(event):
if event.char == 'c':
xloc = randint(0, 100)
yloc = randint(0, 100)
T.mark_set("insert", "%d.%d" % (0, 0))
T.insert('%d.%d' % (xloc, yloc), 'something')
if event.char == 'q':
sys.exit()
frame = Frame(root, width=screen_width, height=screen_height)
frame.bind("<Key>", key)
frame.focus_set()
frame.pack()
T = Text(frame, height=screen_height, width=screen_width, bg="white", fg="blue")
T.mark_set("insert", "%d.%d" % (0, 0))
T.pack()
root.mainloop()
如预期的窗口弹出后,最多时,按“C”导致以前的文本后要插入的文本,而不是在一个随机位置。
谢谢。将这样做,看看 –
试过。增加了大约3000个空格,并尝试将文本放置在屏幕分辨率内的位置上。它似乎失败了,并且文字被放置在3000个空格之后。使用mark_insert()在插入所有空格后放置随机文本之前将光标设置为0,0。更新了代码 –