我试图从 window1 打开 window2 并要求在两者之间输入一个字符串。在成功(或不成功)输入时,window1 似乎将焦点从 window2 收回。即使在对话关闭后在 window2 上调用了 focus_set。
如果省略了 askstring,window2 将专注于创建
import os
import tkinter as tk
from tkinter import ttk
from tkinter import simpledialog
class window2:
def __init__(self,root):
self.root = root
self.root.withdraw()
simpledialog.askstring("askstring","askstring")
self.root.deiconify()
class window1:
def __init__(self,root):
self.root = root
self.button = tk.Button(self.root,text = "Test", command = self.newwindow)
self.button.grid()
def newwindow(self):
newin = window2(tk.Toplevel(self.root))
if __name__ == "__main__":
toproot = tk.Tk()
win = window1(toproot)
win.root.mainloop()
我想知道它是否这样做是因为我设置类的方式,或者仅仅是因为它的一些 simpledialogue 触发了这种效果。