首页 > 解决方案 > AttributeError: '_tkinter.tkapp' 对象没有属性 'root'

问题描述

class Trgbhtml ( TApplication ):
def __init__(self):
    TApplication.__init__(self, "RGB")
    self.size = (300, 120)
    self.position = (200, 200)
    f = ("GOST type A", 14)
    self.lblR = TLabel(self, text="R = ", font=f)
    self.lblR.position= (5, 5)
    self.lblG = TLabel(self, text="G = ", font=f)
    self.lblG.position = (5, 30)
    self.lblB = TLabel(self, text="B = ", font=f)
    self.lblB.position = (5, 55)
    fc = ("GOST type A", 16, "bold")
    self.rgbLabel = TLabel(self, text="#000000", font=fc, fg="navy")
    self.rgbLabel.position = (100, 5)
    self.rgbRect = TLabel(self, text="", width=150, height=60)
    self.rgbRect.position = (105, 35)
    self.rEdit = TEdit(self, font=f, width=50)
    self.rEdit.position = (45, 5)
    self.rEdit.text = "123"
    self.gEdit = TEdit(self, font=f, width=50)
    self.gEdit.position = (45, 30)
    self.gEdit.text = "56"
    self.bEdit = TEdit(self, font=f, width=50)
    self.bEdit.text = "80"
    self.bEdit.position = (45, 55)
    self.rEdit.onChange = self.onChange
    self.gEdit.onChange = self.onChange
    self.bEdit.onChange = self.onChange
def onChange(self, sender):
    r=int(self.rEdit.text)
    g=int(self.gEdit.text)
    b=int(self.bEdit.text)
    s="#{:02x}{:02x}{:02x}".format(r, g, b)
    self.rgbRect.background=s
    self.rgbLabel.text=s
app=Trgbhtml()
app.Run()

尝试启动时显示失败如何解决?

错误:AttributeError:'_tkinter.tkapp'对象没有属性'root';app=Trgbhtml() ; self.lblR = TLabel(self, text="R = ", font=f)

标签: tkinter

解决方案


该错误告诉您您正在self用作 的父级self.lblR,但self不是小部件。您只能将小部件用作其他小部件的父级。


推荐阅读