狼.先生 2024-03-12 14:59 采纳率: 0%
浏览 7

GUI编程使用Tkinter, label组件不显示文本是什么原因

各位好,我在学习用Tkinter实现 GUI编程。现在测试Label组件,这是我的代码,为什么运行的时候不显示文本呢?就是一个空白的窗口。


"""测试label基本用法,使用面向对象编程"""
from tkinter import *


class Application(Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建组件"""
        self.label_1 = Label(self, text="THIS IS A LABEL", width=10, height=2)
        self.label_1.pack()


if __name__ == '__main__':
    root = Tk()
    root.geometry('400x300')
    root.title('label-test')
    app = Application(master=root)
    root.mainloop()

img

  • 写回答

4条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-12 14:59
    关注

    狼.先生 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    在你的代码中,label组件没有显示文本的原因是因为你将label组件添加到Application类的实例上,但你没有将Application类的实例添加到主窗口(root)上。

    要解决这个问题,你需要将Application类的实例(app)添加到主窗口(root)上,使用app.pack()方法。

    下面是修改后的代码:

    from tkinter import *
    
    class Application(Frame):
        def __init__(self, master=None):
            super().__init__(master)
            self.master = master
            self.pack()
            self.createWidget()
    
        def createWidget(self):
            """创建组件"""
            self.label_1 = Label(self, text="THIS IS A LABEL", width=10, height=2)
            self.label_1.pack()
    
    if __name__ == '__main__':
        root = Tk()
        root.geometry('400x300')
        root.title('label-test')
        
        app = Application(master=root)
        app.pack()  # 添加这行代码
        
        root.mainloop()
    

    使用这段代码,label组件应该会显示文本"THIS IS A LABEL"。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月12日

悬赏问题

  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件