我的一个 python 脚本中有这个函数,它会抛出一个 Tkinter 简单对话框屏幕来要求一些简单的用户输入。该功能有效。但是,它有两个问题。
- 它打开了两个窗口,而我只需要一个。但是,如果我删除master = Tk()我会收到错误消息:
AttributeError:“NoneType”对象没有属性“winfo_viewable”
在某一点上找出一个会很好,但我的主要问题是第二个:
- 每当出现简单的对话屏幕时,我必须先单击它才能激活它,这很烦人。为了解决这个问题,我尝试了这里和这里提供的解决方案,但它们不起作用。第一个链接根本没有为我做任何事情,第二个链接帮助我将master.Tk()窗口提升到前面,但这不是我需要的。我需要简单的对话框窗口成为最顶层的窗口,并且我需要它自动激活,这样当我运行我的代码并弹出屏幕时,我可以自动输入它而无需先单击它。
任何帮助将不胜感激!
我的代码:
def getUser():
master = Tk()
newList2=str(newList).replace(", ","\n")
for ch in ['[',']',"'"]:
if ch in newList2:
newList5=newList2.replace(ch,"")
userNr=simpledialog.askinteger("Enter user number", newList2)
chosenUsernr= userNr - 1
global chosenUsernrdef
chosenUsernrdef = chosenUsernr
master.destroy()