我试图创建一个简单的年龄计算程序使用定制,因为这是我第一次使用它,虽然出于某种原因,年龄没有出现在age_label。应该发生的是你在year_entry出生的那一年,按下enter按钮(enter_button),然后你的年龄就会出现在age_label的label_age旁边,但是在age_label中什么都没有显示出来。我尝试过将age_label“文本”设置为一个字符串,而不是一个变量,以查看它是否工作,但这也不起作用。
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()发布于 2022-08-14 22:18:50
用括号符号更改属性,如下所示:
widget["attribute"] = new_value不是在CustomTkinter中实现的,将来也不会实现。我也会考虑这种糟糕的编码风格,因为当你看到里面有一个字符串的括号符号时,你会假设它是一个字典,但它不是。您需要使用.configure()方法:
widget.configure(attribute=new_value)https://stackoverflow.com/questions/73344974
复制相似问题