组件未出现在Tkinter Python界面中

时间:2016-07-13 08:39:23

标签: python tkinter interface

我刚开始用Python开发一些与Tkinter的接口。 有很多方法可以做一个接口,所以我想知道我的代码结构是否正确。 此外,我可以毫无错误地运行我的脚本。但是,它并没有向我展示标签,Hello,world"。

你能解释一下我的错误吗?

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# import 
import tkinter
from tkinter import *
from tkinter.filedialog import *
from tkinter.messagebox import showerror

class MyFrame(Frame):
    def __init__(self):
        # Definition of the main window
        Frame.__init__(self)
        self.master.geometry("800x800")
        self.master.title("Test application")


    label = Label(self, text="Hello, world")
    label.pack()

def quit(self):
    sys.exit()


# ACTION
def load_file(self) :
    filename=askopenfilename(filetypes=(("Input files", "*.igs")))
    if filename :
        try:
            print("""here it comes: self.settings["template"].set(filename)""")
        except:                     # <- naked except is a bad idea
            showerror("Open Source File", "Failed to read file\n'%s'" % fname)
        return


if __name__=="__main__":
    MyFrame().mainloop()

1 个答案:

答案 0 :(得分:2)

您的框架(class MyFrame)从未打包过。在init中使用self.pack()来显示它或将其打包到main中,然后再调用mainloop。

到目前为止,其余的看起来还不错。

当你使用tkinter(所以python3)时,我个人会考虑使用

"some text {}".format(variable)

尽可能<{1}}。