我开始使用Tkinter,尝试创建一个简单的根窗口,窗口上方有一个水平按钮栏,窗口其余部分有一个条目列表。
在逐步调试时,我发现这一行:
_button_widget = tk.Button(self.button_bar, title=_button_label)
使 init 方法返回主窗口关闭窗口。 旁注:我看不到引发任何异常(使用Visual Code Studio作为IDE)和Python 27.如果删除按钮部分,则会创建并显示窗口。
main.py:
# -*- coding: utf-8 -*-
import display_commander
def main():
dc = display_commander.DisplayCommander()
dc.mainloop()
if __name__ == "__main__":
main()
display_commander.py:
# -*- coding: utf-8 -*-
import Tkinter as tk
class DisplayCommander(tk.Tk, object):
def __init__(self):
super(DisplayCommander, self).__init__()
self.geometry("350x150+150+150")
# Button bar
self.button_bar = tk.Frame(self)
self.button_bar.config(bg="red")
self.button_bar.pack()
# Buttons
self.buttons = []
for _button_label in ['New Window', 'Delete Window', 'Save Config', 'Load Config']:
_button_widget = tk.Button(self.button_bar, title=_button_label)
_button_widget.pack()
self.buttons.append([_button_label,_button_widget])
# Window List
self.window_list = tk.Frame(self)
self.window_list.config(bg="yellow")
self.window_list.pack()
答案 0 :(得分:2)
title
参数无法用于按钮,请将其替换为text
:
_button_widget = tk.Button(self.button_bar, text=_button_label)
(我不确定你想如何在你的代码中使用self.buttons
列表,也许你有更好的字典选项?如果你不需要它可以更容易找到/匹配一个小部件排序结构存储。)
self.buttons = {}
[...]
self.buttons[_button_label] = _button_widget