Python + Tkinter:如何从两个子功能打开两个独立的窗口?

时间:2016-11-07 05:10:47

标签: python tkinter

我希望在运行程序时将两个子功能中的两个窗口一起打开。

(更确切地说,这两个子功能不会一起运行。但结果,我希望显示两个窗口。)

但我的以下代码只允许我同时打开一个窗口。

我更喜欢双子功能结构。那么我该如何更改代码呢?谢谢你的帮助!

from Tkinter import *

def Window1():
    root1 = Tk()
    root1.title("Window 1")

    Label1 = Label(root1,text="abc",width=60)
    Label1.grid(row=0, column=0)

    root1.mainloop()


def Window2():
    root2 = Tk()
    root2.title("Window 2")

    Label2 = Label(root2,text="ABC" ,width=60)
    Label2.grid(row=0, column=0)

    root2.mainloop()

Window1()
Window2()

1 个答案:

答案 0 :(得分:2)

如果要打开多个窗口,则应在第一个Toplevel窗口小部件的实例之后创建任何窗口。

以下示例显示了如何完成此操作。第一个窗口是主窗口,如果关闭则会杀死应用程序。第二个窗口不会杀死应用程序,但会自行关闭。

from Tkinter import *

def mainwindow(root):
    root.title("Window 1")
    Label1 = Label(root,text="abc",width=60)
    Label1.grid(row=0, column=0)


def otherwindow(parent):
    root2 = Toplevel(parent)
    root2.title("Window 2")

    Label2 = Label(root2,text="ABC" ,width=60)
    Label2.grid(row=0, column=0)

root = Tk()

mainwindow(root)
otherwindow(root)

root.mainloop()