首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tkinter无法用OptionMenu清除.destroy选择

Tkinter无法用OptionMenu清除.destroy选择
EN

Stack Overflow用户
提问于 2022-06-11 21:54:22
回答 1查看 117关注 0票数 0

我正在尝试显示一个标签与一个选择的选项从一个定制的OptionMenu。我无法在标签中显示当前选择的内容。我尝试了两种不同的方法,得到了两个不同的错误。

第一个错误是,producesTypeError: on_size_selected()接受了0个位置参数,但给出了1:

代码语言:javascript
复制
import customtkinter
from tkinter import *

customtkinter.set_appearance_mode("System")  
customtkinter.set_default_color_theme("blue")
root = customtkinter.CTk()
size_label = customtkinter.CTkLabel()

size_options = ["Random", "Tiny", "Small", "Medium", "Large", "Huge", "Gargantuan"]
def on_size_selected():
    size_label.destroy() #Issue is here 
    size_label = customtkinter.CTkLabel(root,text=clicked.get())
    size_label.pack()


clicked= customtkinter.StringVar()
size_menu = customtkinter.CTkOptionMenu(root, variable=clicked, values=size_options, command=on_size_selected)
size_menu.pack()

root.mainloop()

第二个错误是str对象没有属性破坏(我也尝试过使用clear,并说了相同的话,但使用了clear):

代码语言:javascript
复制
import customtkinter
from tkinter import *

customtkinter.set_appearance_mode("System")  
customtkinter.set_default_color_theme("blue")
root = customtkinter.CTk()

size_options = ["Random", "Tiny", "Small", "Medium", "Large", "Huge", "Gargantuan"]
def on_size_selected(size_label):
    size_label.destroy() #Issue is here 
    size_label = customtkinter.CTkLabel(root,text=clicked.get())
    size_label.pack()


clicked= customtkinter.StringVar()
size_menu = customtkinter.CTkOptionMenu(root, variable=clicked, values=size_options, command=on_size_selected)
size_menu.pack()

root.mainloop()
EN

回答 1

Stack Overflow用户

发布于 2022-06-11 22:25:21

读取CustomTkinter文档。OptionMenu将向命令发送您选择的字符串,并且字符串没有方法破坏。这应该是可行的:

代码语言:javascript
复制
def on_size_selected(choice):
    new_values = [x for x in size_options if x != choice]
    size_menu.configure(values=new_values)
    size_label = customtkinter.CTkLabel(root,text=choice)
    size_label.pack()

请注意,您不需要字符串。

编辑注意到,CustomTkinter模仿tkinter小部件,在本例中,它是tkinter小部件的正常行为,@martineau在评论中指出。因此,您也可以考虑阅读tkinter文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72588079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档