当前位置: 首页 > 知识库问答 >
问题:

创建带有滚动和按钮的列表框。获取属性错误:'str'对象没有属性'tk'

龙兴学
2023-03-14

嗨,我是Tkinter的新手。我试图创建一个滚动条和几个按钮的列表框,但我得到了一个属性错误。好像我在什么地方覆盖了主人。请帮助:

class advancedListBox:
    def __init__(self, master, listBoxList, label, callbackFunction = None):
        self.listBoxList = listBoxList
        self.label = label
        self.callbackFunction = callbackFunction

        self.entryVar = tk.StringVar()
        self.entryVar.set("Search")
        self.entry = tk.Entry(master)
        self.entry.config(textvariable = self.entryVar)
        self.entry.grid(row = 0,sticky= "E"+"W")
        self.entry.bind('<KeyPress>', self.listBox_On_keypress)
        self.entry.bind('<KeyRelease>', self.listBox_On_keyrelease)




        self.entryLabel = tk.Label(self.label)
        self.entryLabel.grid(row = 1, column = 0, padx =(0,18))

        self.listBox = tk.Listbox(master)
        self.listBox.grid(row = 2, rowspan = 3, column = 0, sticky= "N"+"E"+"S"+"W")
        self.listBox.bind('<<ListboxSelect>>', on_select)
        self.listbox_update(self.listBoxList)


        self.scrollbar = tk.Scrollbar(master, orient="vertical")
        self.scrollbar.config(command=self.listBox.yview)
        self.scrollbar.grid(row = 2, column = 1,rowspan = 3, sticky= "N"+"S")

        self.listBox.config(yscrollcommand=scrollbar.set)
        self.deleteButton = tk.Button(self.master, text="Delete",
                command=html" target="_blank">lambda lb=architecturesListBox: deleteFromListBox(lb,tk.ANCHOR))

        self.deleteButton.grid(row =5,sticky= "E"+"W"

回溯(最近一次呼叫最后一次):

文件"c:/用户/Jerwin/桌面/Jadon's Stuff/Jadon's Python程序/列表框与删除和scrollbar.py",第110行,在架构列表框=AdvancedListBox(根,架构,名称-图片)

文件“c:/Users/Jerwin/Desktop/Jadon's Stuff/Jadon's Python Programs/List box with delete and scrollbar.py”,第22行,在init self中。entryLabel=tk。标签(self.Label)

文件"C:\用户\Jerwin\AppData\本地\程序\Python\Python37\lib\tkinter__init__. py",第2766行,在init Widget.init(自己,主,'标签',cnf,kw)

文件“C:\Users\Jerwin\AppData\Local\Programs\Python\37\lib\tkinter\uuuuu init\uuuuuu.py”,第2292行,在init BaseWidget中_安装程序(self,master,cnf)文件“C:\Users\Jerwin\AppData\Local\Programs\Python37\lib\tkinter\uuuuuu init\uuuuuuuuuu.py”,第2262行,在安装程序self中。tk=主。传统知识

str对象没有属性tk

共有1个答案

俞新翰
2023-03-14

self。标签是一个字符串。当您执行self时,您将它用作标签的父项。entryLabel=tk。标签(self.Label)。字符串不能是小部件的父级。

 类似资料:
  • 我正在创建词汇表,一个GUI程序来管理未知单词。我得到: /usr/bin/python3。5/主页/cali/Pycharm项目/词汇表/词汇表。Tkinter回调回溯中的py异常(最近一次调用最后一次): 文件“/usr/lib/python3.5/Tkinter/init.py”,第1553行,在调用返回self中。func(*args)文件“/home/cali/PycharmProjec

  • 问题内容: 我正在尝试读取文件,并用逗号在每行中拆分一个单元格,然后仅显示包含有关纬度和经度信息的第一和第二个单元格。这是文件: 时间, 纬度,经度 ,类型2015-03-20T10:20:35.890Z, 38.8221664,-122.7649994 ,地震 2015-03-20T10 :18:13.070Z, 33.2073333,-116.6891667 ,地震 2015-03-20T10

  • 我试图分裂链接的图像是什么错在我的代码

  • 我在Jupyter Notebook中运行Keras神经网络模型(Python 3.6) 我得到以下错误 属性错误:列表对象没有属性ndim 从K调用. fi()方法后eras.model 我检查了Keras的requirements.txt文件(在Anaconda3中),Numpy、smpy和六个模块版本都是最新的。 什么可以解释这个属性错误? 完整的错误消息如下(似乎与Numpy有些关联):

  • 问题内容: 这是我的代码: 此时,我收到错误消息 Python 3不再具有解码了,对吗?我怎样才能解决这个问题? 另外,在: 我只选择第一封电子邮件。如何选择全部? 问题答案: 您正在尝试解码 已解码 的对象。您有一个,不再需要从UTF-8解码。 只需删除部分: 至于您的通话,您明确要求仅发送第一条消息。如果要检索更多消息,请使用范围。请参阅文档: 下面命令的 message_set 选项是一个字

  • 这是我的密码: 在这一点上,我得到了错误消息 Python 3已经没有解码了,对吗?我该怎么解决这个问题? 此外,在: 我只选择第一封电子邮件。如何选择全部?