【发布时间】:2014-05-29 14:14:49
【问题描述】:
只是在我正在练习的一个小 GUI 上寻找一些建议。 我正在尝试制作一个用于弯曲时刻的 GUI,以便在某个时候扩展......我正在寻找的是一种使用一个按钮从所有输入框中获取数据的方法。我可以通过每个输入框有一个单独的按钮来获得一些工作,但我更愿意有一个简单的“提交”按钮...... 非常感谢任何帮助或建议, 干杯
当前代码:
import Tkinter as tk
class beam(tk.Tk):
def __init__(self,parent):
tk.Tk.__init__(self,parent)
self.parent = parent
self.initUI()
def initUI(self):
self.grid()
self.ent1 = tk.Entry(self)
self.ent1.grid(row=10,column=2)
self.ent2 = tk.Entry(self)
self.ent2.grid(row=12,column=2)
self.ent3 = tk.Entry(self)
self.ent3.grid(row=14,column=2)
self.ent4 = tk.Entry(self)
self.ent4.grid(row=16,column=2)
self.ent5 = tk.Entry(self)
self.ent5.grid(row=18,column=2)
cls_btn = tk.Button(self,text='close', command=self.cls_win)
cls_btn.grid(row = 30, column = 2)
lbE = tk.Label(self,text='Youngs Modulus')
lbE.grid(row=10,column=1)
lbD = tk.Label(self,text='Outer diameter')
lbD.grid(row=12,column=1)
lbd = tk.Label(self,text='Inner diameter')
lbd.grid(row=14,column=1)
lbL = tk.Label(self,text='Length')
lbL.grid(row=16,column=1)
lbw = tk.Label(self,text='UDL')
lbw.grid(row=18,column=1)
def btns(self):
self.ent1 = float(self.ent1.get())
self.ent2 = float(self.ent2.get())
self.ent3 = float(self.ent3.get())
self.ent4 = float(self.ent4.get())
self.ent5 = float(self.ent5.get())
def cls_win(self):
self.destroy()
def main():
app = beam(None)
w, h = app.winfo_screenwidth(), app.winfo_screenheight()
app.geometry("%dx%d+0+0" % (w, h))
app.title('Beam app')
app.mainloop()
if __name__ == '__main__':
main()
我可以让每个输入框提交使用:
self.btn1 = tk.Button(parent, text='Submit', command=self.btns)
【问题讨论】:
-
ebarr - 感谢您的编辑!我确信这次我做对了......
-
您已经有了一个通过一个按钮 (
btns) 获取所有值的函数。您覆盖了小部件引用,但实际上您的代码只需单击一次按钮即可获取所有值。 -
@Bryan Oakley 的确如此!我设法混淆了自己,并没有意识到如何使用它......干杯
标签: python user-interface tkinter