【问题标题】:Multiple Windows in Tkinter (Python 2.7)Tkinter 中的多个窗口 (Python 2.7)
【发布时间】:2015-12-08 00:50:00
【问题描述】:

因此,对于我应该为我的编程课程完成的作业,我遇到了一些问题。我们从未真正经历过如何创建子窗口 // 辅助窗口,由于某种原因,我在第一个窗口中添加的内容没有显示出来?...

到目前为止,我的代码如下所示:

from Tkinter import*

class Window(Frame):

    def __init__(self, master = None):
        Frame.__init__(self, master)
        self.master = master
        self.button1 = Button(self, text="Create new window", command=self.New_Window)
        self.button1.pack(fill=BOTH)

    def New_Window(self):
        win = Toplevel(self)
        win.title("New Window")
        etiquette1 = Label(root, text = "Text shenanigans")
        etiquette1.pack()

if __name__ == "__main__":
    root = Tk()
    main = Window(root)
    main.mainloop()

另外,另一个问题是如何命名第一个窗口?默认情况下它只是称为“tk”,但如果我尝试执行以下示例中的操作,则它不起作用。

self.__init__.title("Main Window")

【问题讨论】:

    标签: python-2.7 tkinter


    【解决方案1】:

    创建小部件时的第一个参数是“父级”——新小部件所在的小部件。如果您希望标签位于 Toplevel 中,请将 Toplevel 设为父标签:

    etiquette1 = Label(win, ...)
    

    要设置窗口的标题,调用title方法:

    root.title("This is the root window")
    ...
    win.title("This is the second window")
    

    【讨论】:

    • 我的主要意思是button1没有出现在原始窗口中。窗口出现了,但应该触发第二个窗口打开的按钮没有出现,即使它已打包。
    • 好的,谢谢。 root.title("This is the root window") 工作得很好。但是该按钮仍然没有出现在第一个窗口中。 button1 东西
    • 其实我是智障 :) 谢谢大家的帮助。它被写成 'self.button1 = Button(self, text="Create new window", command=self.New_Window)' 而它应该是 'self.button1 = Button(root, text="Create new window",命令=self.New_Window)'
    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多