|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
RT,最近做一个程序需要GUI,就用了Tkinter,但中途遇到一些问题,请各位鱼油帮忙看一下什么问题。
因为经常要用到似Label + Label或Label + Entry这样的组件,这样一个个拼起来太麻烦,我就写了一个类,但这个类有点问题,以致我每次用的时候永远只会出现一个,以下是代码:
import Tkinter as tk
class WidgetsFrame(tk.Frame)
def __init__(self, master, *widgets):
super(WidgetsFrame, self).__init__(master)
self.widgets = list()
for widget in widgets:
self.widgets.append(widget)
self.widgets[-1].master = self
def grid(self, **args)
for index, widget in enumerate(self.widgets):
widget.grid(row = 1, column = index)
super(WidgetsFrame, self).grid(args)
if __name__ == '__main__':
root = tk.Tk()
acount_widget = WidgetsFrame(root, tk.Label(text = '账号:'), tk.Entry(width = 20))
pwd_widget = WidgetsFrame(root, tk.Label(text = '密码:'), tk.Entry(width = 20))
acount_widget.grid(row = 1, column = 1)
pwd_widget.grid(row = 2, column = 1)
root.mainloop()
当我运行这个的时候,窗口上永远只有一条Frame :pwd_widget,那个acount_widget不知道去哪了还是被遮住了,求解!@小甲鱼 老师
def grid(self, **args)
for index, widget in enumerate(self.widgets):
widget.grid(row = 1, column = index)
super(WidgetsFrame, self).grid(args)
|
|