我正在尝试从pygame转换到tkinter,因为它似乎对我想做的事情要好得多,尽管我遇到了一些困难。我需要能够在某个键和鼠标按钮都被按下时调用一个函数。在pygame中,它很简单,如下所示。 while not done:
for event in pygame.event.get():
keys = pygame.key.get_pressed()
mouse = pygame.mouse.get_pressed()
if event.type == pygame.QUIT:
done = True
在Python 3.7的tkinter中,事件绑定的默认行为是在松开鼠标之前按下鼠标后不会触发"“事件。我打算实现一个可滚动的表,这样它就可以检测"“(鼠标左键单击向下)和"”(鼠标左键单击向上)事件,并绑定每个表行的窗口小部件"“事件,以检测鼠标指针何时进入不同的表行。这样,我就可以通过单击一行并在表中拖动来滚动我的表。我的假设是,即使在按住鼠标按钮的同时,"“事件也会被触发,这是不正确的。所以,我的整个滚动实现都碰壁了。我需要在鼠标按下时触发这些事件,否则它将无法工作。我正在做一些类似的事情:
from tkinter import *
class
我有一个包含以下模块的Python脚本:
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
当我通过按F5在IDLE中运行代码时,脚本运行正常,并启动我的应用程序。
但是,当我转到命令提示符并输入
python ScannerApp.py
我得到以下错误:
File "tkinterTest.py", line 1, in <module>
from tkinter import *
ImportError: No module named tkinter
我如何
在Tkinter中,是否有可能避免在移动鼠标时按下小部件上的鼠标按钮并保持按下的事件抓取?
我想注册鼠标按钮,然后跟踪所有的小部件,用户进入时,他移动他的鼠标按下按钮。当用户释放鼠标按钮时,应用程序对所有跟踪的小部件执行相同的操作。
下面的代码应该解释我想要做什么。
# Set a tracking flag
widget.bind('<Button>', start_tracking)
# Add the entered widget to the tracked widgets, if the tracking flag is set
widget.bind(&