如何在笔记本的选项卡中获取特定的小部件?

2024-10-01 11:39:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在操作笔记本选项卡中的小部件时遇到问题。我创建了一个从notebook小部件继承的自定义类。如下代码所示

" 类CustomNB(ttk.笔记本): definit(自身,顶部窗口): super().init() 自[“宽度”]=505 自我[“高度”]=200 self.enable_遍历() self.bind(“<;>;”,self.selected_选项卡)

    self.addButtonList = list()

    self.v = StringVar()
    for i in range(3):
        self.cur_tab = "tab" + str(i)
        self.cur_tab = Frame(self)
        self.cur_tab_name = "Group " + chr(65 + i)
        self.add(self.cur_tab, text=self.cur_tab_name, sticky="e", compound="text")

        self.curGroup = Entry(self.cur_tab, width=5, justify="center", textvariable=self.v)
        self.curGroup.grid(row=0, column=1, sticky="NESW")
        # self.curGroup.bind("<Return>", self.chName)

        self.addButton = ttk.Button(self.cur_tab, text="Add File")
        self.addButton.grid(row=1, column=1, sticky="NESW ")
        # self.addButton.bind("<Button-1>", self.addFile)

        self.addButtonList.append(id(self.addButton))
        self.removeButton = ttk.Button(self.cur_tab, text="Remove File")
        self.removeButton.grid(row=2, column=1, sticky="NESW ")
        # self.removeButton.bind("<Button-1>", self.removeFile)

        self.cl = Label(self.cur_tab, width=5, height=1)
        self.cl.grid(row=3, column=1, sticky="NESW ")

        self.colorButton = ttk.Button(self.cur_tab, text="Choose Color")
        self.colorButton.grid(row=4, column=1, sticky="NESW")
        # self.colorButton.bind("<Button-1>", self.groupColor)

        self.selList = Listbox(self.cur_tab, width=70, height=12, bg="#ADADAD",
                               selectmode=EXTENDED)
        self.selList.grid(row=0, column=0, columnspan=1, rowspan=5)
        self.curGroup.insert(0, self.cur_tab_name)

"

如何分别获取和操作选项卡内容?比如,我想更改第七个选项卡标签的特定文本,并在特定选项卡中查找addButton id

胜过


Tags: textselfbindcolumnbuttontab选项卡grid
1条回答
网友
1楼 · 发布于 2024-10-01 11:39:34

你可以用

Notebook.tab(tab_id, option=None, **kw)

tab_id可以是目标选项卡的整数索引

此功能有几个应用程序:

如果定义了option,则返回该选项的值

如果您想更改一个选项,例如text,只需写Notebook.tab(tab_id, text = "newtext")

如果将其保留在Notebook.tab(tab_id),它将返回所有选项值的字典

如果有帮助,请告诉我:)

相关问题 更多 >