我正在制作一个程序来获取多个用户名并将它们存储在一个XML文件中。XML部分工作得很好,但是GUI有问题。我希望能够询问用户要输入多少个用户,然后重复一个Entry
这个次数。如何在维护quit
函数的同时做到这一点?我试过了:
def quitter():
exit()
quit()
quitterButton = Button(master, text="Quit", command=quitter)
mainCanvas.create_window(50, 330, window=quitterButton, tag="quitter")
num = int(raw_input("How many users are you going to put in?"))
for x in range(0,num):
#Create User entry Variable
userEnter = StringVar()
usrVar = ""
#Create enter box:
userEntryBox = Entry(master, textvariable = userEnter)
mainCanvas.create_window(250, 300, window=userEntryBox, tag="UserEnterA")
def gotInput(self):
usrVar = userEnter.get();
mainCanvas.create_text(250, 330, text="User Inputted: " + usrVar, tags="0")
mainCanvas.delete("UserEnterA")
#Bind entry box
userEntryBox.bind('<Key-Return>', gotInput)
userEntryBox.wait_window(userEntryBox)
#Create a new user element
newUsr= ET.Element('Member')
#Add element to the Root
root.append(newUsr)
#Make a sub element Name, set name
usrName = ET.SubElement(newUsr, 'Name')
usrName.text = usrVar;
...
tree.write('./output.xml')
最好的办法是什么?我不知道输入的数量,我想让退出按钮一直工作。在
你的程序的行为对我来说有点不清楚,但我尽力帮助你。在
第一个解决方案:显示tkinter askstring对话框
num
次。如果用户按Cancel
按钮,可以中断for
循环。这并不完全是您想要的,但它很容易实现:第二个(如果您想用
^{pr2}$quit
按钮将条目和所有新名称放入窗口):Tkinter中有三个几何体管理器:place(在您的例子中它非常类似于canvas)、grid和pack。 Canvas通常用于画图画或图形。在
相关问题 更多 >
编程相关推荐