在下面的代码中,第一个对话框立即获得焦点,因此用户只需键入答案并按Enter。在第二个版本中,在Windows中运行似乎没有发生。在运行Raspbian 9时,两个窗口在打开时都会获得焦点。
在Windows中打开两个窗口时,有什么方法可以使两个窗口都聚焦吗?
import tkinter as tk
from tkinter import simpledialog
root = tk.Tk()
root.withdraw()
answer1 = simpledialog.askstring("Test1","This one gets focus when it opens",parent=root)
answer2 = simpledialog.askstring("Test2","This one doesn't",parent=root)
答案 0 :(得分:1)
我已经看了几天这个问题了,希望有人能对此问题有所启发。我在Windows 10下运行Python 3.6.5,并遇到相同的问题。
我尝试了几种不同的方法,但是看来微软是按照自己的方式做的。我终于找到了一个可行的方法,但前提是您不隐藏根窗口:
import tkinter as tk
from tkinter import simpledialog
root = tk.Tk()
#root.withdraw() # This does not work if you hide the root window
root.update_idletasks()
answer1 = simpledialog.askstring("Test1","This one gets focus",parent=root)
root.update_idletasks()
answer2 = simpledialog.askstring("Test2","This one doesn't",parent=root)