我正在尝试建立一个由4个框组成的UI,它取决于主窗口。在每个框架中,都会有一个按钮。每个框架都有一个必须出现的标题/标签。
窗口上有一个图像背景,我的目标是编码,使帧背景透明(或黑色。这并不重要)。
我的问题是,虽然mainWindow显得很流畅,但程序似乎无法创建框架。在运行之前我没有错误,但在关闭它之后没有错误。
我已经阅读了许多不同的答案,关于必须让我的标签可以使用母版(并且据我所知,它是)。
from tkinter import *
top = Tk()
mainWindow = Canvas(top, bg = "blue", height = 500, width = 600)
filename = PhotoImage(file="C:\matrix.png")
background_label = Label(top, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
mainWindow.pack()
top.mainloop()
# fenêtre load Key
KeyFrame = Frame(mainWindow, borderwidth = 2, relief = SUNKEN)
KeyFrame.pack(side = LEFT, padx = 30, pady = 30)
# fenêtre load Fichier
FileFrame = Frame(mainWindow, borderwidth = 2, relief = SUNKEN)
FileFrame.pack(side = RIGHT, padx = 10, pady = 10)
# Labels
KeyLabel = Label(KeyFrame, text = "Choix de la matrice...", bg = "black").pack(fill = BOTH, expand = "YES")
FileLabel = Label(FileFrame, text = "Choix de la fichier...", bg = "black").pack(fill = BOTH, expand = "YES")
这是我关闭程序时可以看到的错误:
Traceback (most recent call last):
File "PATH", line 15, in <module>
KeyFrame = Frame(mainWindow, borderwidth = 2, relief = SUNKEN)
File "PATH", line 2738, in __init__
Widget.__init__(self, master, 'frame', cnf, {}, extra)
File "PATH", line 2293, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: can't invoke "frame" command: application has been destroyed
答案 0 :(得分:1)
在创建所有小部件后,应将PreparedStatement
称为。因为只要窗口打开,脚本就不会在top.mainloop()
之后运行任何行。尝试将它放在最后。
答案 1 :(得分:0)
将top.mainloop()
移动到程序的最后,因为python程序的执行在那里停止,并且该行下面的任何内容都不能执行。