首页 > 解决方案 > tkinter (3.8) 中不显示该按钮

问题描述

我对 Python 3.8 有疑问。我正在使用 tkinter。我正在尝试做一个简单的 UI(我正在做一些测试,实际上我正在学习 tkinter)这是代码:

### importing libraries ###
import tkinter 
from tkinter import *
import os, glob
### importing libraries ###

### creating tk and the principal frame ###
tk = Tk()
tk.title("calculator")
 f1 = Frame(tk, bg="white", height=1200, width=1200)
 f1.pack()
 #### creating tk and the principal frame ####

 #### initializing the ui ####
 f1.mainloop()
 #### initializing the ui####

### creating buttons ###
bruh = tkinter.Button(f1,background="white", text="moltiplica")
### creating buttons ###

### adding buttons and setting the position ###
bruh.pack(padx=30,pady=1)
### adding buttons and setting the position ###

问题是按钮没有出现,当我关闭应用程序时,控制台会打印出这个东西:

File "c:/Users/MS/### importazione delle librerie ###.py", line 21, in <module>bruh = tkinter.Button(f1,background="white",  command="ciao", text="moltiplica")File "C:\Users\MS\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 2645, in __init_ Widget.__init__(self, master, 'button', cnf, kw)File "C:\Users\MS\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 2567, in __init__self.tk.call(
_tkinter.TclError: can't invoke "button" command: application has been destroyed

标签: pythonpython-3.xtkinter

解决方案


你在打电话mainloop()。mainloop 创建一个无限循环,直到您关闭程序。将所有内容放在它之前,否则它将在您关闭应用程序后执行(应用程序已被销毁)。在您的情况下,Tkinter 通过调用其中一个包管理器来初始化它的 UI pack()


推荐阅读