我试图将一个tkinter窗口居中.我知道我可以编程方式获取窗口的大小和屏幕并用它来设置几何图形的大小,但我不知道是否有到中心屏幕上的窗口,更简单的方法.
我这里有一个很简单的问题.在Tkinter(python)中,我想知道谁使用按钮转到我的应用程序的不同页面,例如注册页面和登录页面.我知道GUI不像网站那样有"页面",我已经看到了几种不同的方式,但是链接到不同页面的最佳方式是什么?
非常感谢你们!
我最近开始随意使用tkwait并注意到某些功能仅在特殊条件下才起作用。例如:
import tkinter as tk
def w(seconds):
dummy = tk.Toplevel(root)
dummy.title(seconds)
dummy.after(seconds*1000, lambda x=dummy: x.destroy())
dummy.wait_window(dummy)
print(seconds)
root = tk.Tk()
for i in [5,2,10]:
w(i)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好并且符合预期:
但在事件驱动的环境中,这些tkwait调用会变得很棘手。该文档指出引用:
如果事件处理程序再次调用 tkwait,则对 tkwait 的嵌套调用必须在外部调用完成之前完成。
>>5 >>2 >>10您将得到的不是输出>>10 >>2 >>5,因为嵌套调用会阻塞内部调用,而外部调用会阻塞内部调用。我怀疑嵌套事件循环或等效的主循环在等待时以正常方式处理事件。
我使用此功能是否做错了什么?因为如果您仔细想想,几乎所有 tkinter 对话框窗口都在使用此功能,而我以前从未读过此行为。
事件驱动的示例可能是:
import tkinter as tk
def w(seconds):
dummy = tk.Toplevel(root)
dummy.title(seconds)
dummy.after(seconds*1000, lambda x=dummy: x.destroy())
dummy.wait_window(dummy)
print(seconds)
root …Run Code Online (Sandbox Code Playgroud) 我创建了一个对话框,一切都很好,除非我可以某种方式返回结果。从对话框让用户选择的问题是,我们不知道什么时候,他/她会点击,例如ok或cancel。
我试图查看如何实现标准对话框,以执行类似操作。我注意到所有打开对话框的函数,例如askdirectory或askopenfile调用Dialogmethod show。因此,我决定看一下该方法,但我没有完全看到该方法与能够等待用户的回答/操作返回某些值的事实之间的关系。
我们究竟如何从对话框中返回一些值?
tkinter ×5
python ×3
python-3.x ×2
call ×1
centering ×1
event-driven ×1
tcl ×1
tk-toolkit ×1
ttk ×1
wait ×1