在 pycharm 3.12 窗口中运行 customtkinter 脚本时不显示

问题描述 投票:0回答:1

我试图运行我学到的一个简单的 GUI 脚本(我是初学者),但没有弹出 GUI 窗口 这是代码,

import customtkinter

customtkinter.set_appearance_mode('dark')
customtkinter.set_default_color_theme('dark-blue')

root = customtkinter.CTk()
root.geometry('500x300')

def login():
    print('Test')


    frame = customtkinter.CTkFrame(master=root)
    frame.pack(pady=20, padx=60, fill='both', expand=True)

    label = customtkinter.CTkLabel(master=frame, text='Login System', text_font=('Roboto', 24))
    label.pack(pady=12, padx=10)

    entry1 = customtkinter.CTkEntry(master=frame, placeholder_text='Username')
    entry1.pack(pady=12, padx=10)

    entry2 = customtkinter.CTkEntry(master=frame, placeholder_text='Password', show='*')
    entry2.pack(pady=12, padx=10)

    button = customtkinter.CTkButton(master=frame, text="Login", command=login)
    button.pack(pady=12, padx=10)

    checkbox = customtkinter.CTkCheckBox(master=frame, text='Remember Me')
    checkbox(pady=12, padx=10)

我尝试添加,

root.mainloop()

到脚本末尾,但仍然不起作用。有人可以帮助我吗?

python tkinter customtkinter
1个回答
0
投票

脚本中的问题是函数

login()
包含用于创建 GUI 元素的代码,但您没有调用此函数。由于
login()
应该是按钮的回调,因此只有在按下按钮时才会触发它。

复选框还有一个小错误。您像调用函数一样调用复选框 (

checkbox(pady=12, padx=10)
),但它应该像其他小部件一样
checkbox.pack(pady=12, padx=10)

最后,

text_font
参数应该被称为
font

这是脚本:

import customtkinter 

customtkinter.set_appearance_mode('dark')
customtkinter.set_default_color_theme('dark-blue')

root = customtkinter.CTk()
root.geometry('500x300')

def login():
    print('Test')

frame = customtkinter.CTkFrame(master=root)
frame.pack(pady=20, padx=60, fill='both', expand=True)

label = customtkinter.CTkLabel(master=frame, text='Login System', font=('Roboto', 24))
label.pack(pady=12, padx=10)

entry1 = customtkinter.CTkEntry(master=frame, placeholder_text='Username')
entry1.pack(pady=12, padx=10)

entry2 = customtkinter.CTkEntry(master=frame, placeholder_text='Password', show='*')
entry2.pack(pady=12, padx=10)

button = customtkinter.CTkButton(master=frame, text="Login", command=login)
button.pack(pady=12, padx=10)

checkbox = customtkinter.CTkCheckBox(master=frame, text='Remember Me')
checkbox.pack(pady=12, padx=10)

root.mainloop()

© www.soinside.com 2019 - 2024. All rights reserved.