首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在customtkinter中更改标签中不起作用的文本

在customtkinter中更改标签中不起作用的文本
EN

Stack Overflow用户
提问于 2022-08-13 14:10:24
回答 1查看 205关注 0票数 0

我试图创建一个简单的年龄计算程序使用定制,因为这是我第一次使用它,虽然出于某种原因,年龄没有出现在age_label。应该发生的是你在year_entry出生的那一年,按下enter按钮(enter_button),然后你的年龄就会出现在age_label的label_age旁边,但是在age_label中什么都没有显示出来。我尝试过将age_label“文本”设置为一个字符串,而不是一个变量,以查看它是否工作,但这也不起作用。

代码语言:javascript
复制
import tkinter as tk
import customtkinter
import tkinter.font as font

window = customtkinter.CTk()
window.geometry("300x100")
window.title("Age Calculator")
window.resizable(width=False, height=False)

def enterButton():
    year = year_entry.get()
    age = str(2022 - int(year))
    age_label["text"] = str(age)


customtkinter.set_appearance_mode("System")
customtkinter.set_default_color_theme("green")

label_year = customtkinter.CTkLabel(master=window, text="Enter year of birth:", text_font=('Arial', 13))
label_year.place(relx=0.25, rely=0.2, anchor=tk.CENTER)

label_age = customtkinter.CTkLabel(master=window, text="Age:", text_font=('Arial', 13))
label_age.place(relx=0.42, rely=0.7, anchor=tk.CENTER)

year_entry = customtkinter.CTkEntry(master=window, width=50, height=10, placeholder_text="Year")
year_entry.place(relx=0.65, rely=0.2, anchor=tk.E)

enter_button = customtkinter.CTkButton(master=window, text="Enter", width=80, height=7, corner_radius=5, command=enterButton)
enter_button.place(relx=0.7, rely=0.10)

age_label = customtkinter.CTkLabel(master=window, text="", text_font=('Arial', 13), width=50)
age_label.place(relx=0.5, rely=0.55)

window.mainloop()
EN

回答 1

Stack Overflow用户

发布于 2022-08-14 22:18:50

用括号符号更改属性,如下所示:

代码语言:javascript
复制
widget["attribute"] = new_value

不是在CustomTkinter中实现的,将来也不会实现。我也会考虑这种糟糕的编码风格,因为当你看到里面有一个字符串的括号符号时,你会假设它是一个字典,但它不是。您需要使用.configure()方法:

代码语言:javascript
复制
widget.configure(attribute=new_value)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73344974

复制
相关文章

相似问题

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