【发布时间】:2014-03-10 17:50:32
【问题描述】:
我们的库存系统会根据模式生成 10 位数的商品编号。我编写了一个程序,它将执行以下操作:
- 获取一个 10 位数的项目编号,其中包含一个不正确的数字,并通过更改每个数字返回一个可能的有效项目编号列表。
- 获取一个缺少数字的 9 位项目编号,并通过插入一个数字返回有效的 10 位项目编号列表
- 获取一个有多余数字的 11 位项目编号,并通过删除一个数字返回一个有效的 10 位项目编号列表
- 取一个 10 位项目编号,将 2 位数字转置,并通过切换数字返回一个有效的 10 位项目编号列表
我有 5 个函数可以完成这项任务。上述每个实例的函数,然后是确定项目编号是否有效的函数。这一切正常。
现在我想用一个显示上述 4 个选项和一个退出选项的 GUI 来启动程序。因此,用户可以选择列表 1-5 的菜单。一旦用户输入他们想要 1 到 5 的选项编号,我需要提示用户输入项目编号,然后在 GUI 中打印出可能的项目编号的返回列表。
如果可能的话,我想使用 tkinter 创建我的 GUI,因为我对它的了解非常有限。我正在使用 Python 3.2.2。这可能吗?
更新::
查看建议后,我有以下代码:
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.l=Label(frame, width = 50, anchor=CENTER, justify=CENTER, text="Please choose from the following options: \n1. Option1\n2. Option2\n3. Option3\n4. Option4\n5. Quit")
self.l.pack()
self.e = Entry(frame, width=5)
self.e.pack()
self.e.focus_set()
self.w1=Label(frame, text="Please enter 1-5")
self.w1.pack()
self.e1=Entry(frame, width=16)
self.e1.pack()
self.e1.focus_set()
self.w2=Label(frame, text="Enter item number")
self.w2.pack()
self.button=Button(frame, text="Return List", state=DISABLED)
self.button.pack()
root = Tk()
app=App(root)
root.mainloop()
现在我的问题是如何从 2 个条目小部件(self.e 和 self.e1)中获取信息并使用按钮执行功能。
例如,如果用户在 self.e 条目小部件上输入选项 4,在 self.e1 小部件上输入 1234567890,然后按下按钮,我需要调用函数 option4(1234567890)。
我需要两个条目小部件来返回数字,但似乎不知道如何实现。我意识到在按钮小部件中我需要将 state= 替换为 command= 但不确定如何将 e.get() 和 e2.get() 绑定到按钮。
感谢您的帮助!
【问题讨论】:
-
是的,有可能。 effbot.org/tkinterbook/tkinter-index.htm 查看简介,然后查看标签、条目和按钮小部件。这应该足以构建这个 GUI。
-
您是要我们为您编写程序吗?您是否遇到问题的特定部分?
-
Bryan,是的,这是我的第一个想法,但我会尝试查看 @petem 的建议,这可能有助于我更好地保留这一点。我正在研究解决方案,但它涉及使用文本框,然后是 2 个 simpledialog,但最后我打开了 3 或 4 个窗口。如果可能的话,我真的很想把它全部放在一个窗口中。谢谢你们的帮助和意见。
标签: python python-3.x tkinter