关于#python#的问题:tkinter中使用checkbutton制作勾选


var1=tk.BooleanVar()
c=tk.Checkbutton(root,text='隐藏密码',variable=var1,onvalue=True,offvalue=False)
c.place(x=460,y=75,width=100)

if var1.get()==True:
    enter2 = tk.Entry(root,show='*',textvariable=password)
else:
    enter2 = tk.Entry(root,textvariable=password)

img


最后没能实现勾选“隐藏密码”后将密码显示为*号,初学者求解

要给checkbutton绑定command,再在这个函数里进行值的判断,和button很像。

  • 建议你看下这篇博客👉 :tkinter-checkbutton详解
  • 除此之外, 这篇博客: Python中的tkinter库中的 Checkbutton 勾选项 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import tkinter as tk
    
    window = tk.Tk()  # 实例化Tk
    window.title("muy window")  # 设置标题
    window.geometry("200x150")  # 设置窗口的大小
    
    l = tk.Label(window, bg="yellow", width=15, text="empty")
    l.pack()
    
    
    def print_selection():  # Scale调用函数,其有自动的传入值
        if (var1.get() == 1) & (var2.get() == 0):
            l.config(text="i love python")
        elif (var1.get() == 1) & (var2.get() == 1):
            l.config(text="i love both")
        elif (var1.get() == 0) & (var2.get() == 1):
            l.config(text="i love C++")
        else:
            l.config(text="i don't love either")
    
    
    var1 = tk.IntVar()
    var2 = tk.IntVar()
    cl = tk.Checkbutton(window, text="Python", variable=var1, onvalue=1, offvalue=0
                        , command=print_selection)  # 选择var1的值为1,否则为0
    c2 = tk.Checkbutton(window, text="C++", variable=var2, onvalue=1, offvalue=0
                        , command=print_selection)
    cl.pack()
    c2.pack()
    
    window.mainloop()  # 显示窗口
    
  • 您还可以看一下 姜雪伟老师的Python Tkinter窗体讲解课程中的 5CheckButton小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    从参考资料中可以看出,可以使用tkinter的Checkbutton控件实现勾选“隐藏密码”并显示为*号的功能。首先,我们需要创建一个Checkbutton并设置相应的变量和命令。然后,在命令函数中根据Checkbutton的状态来判断是否隐藏密码并显示*号。下面是具体的解决方案:

    import tkinter as tk
    
    def hide_password():
        if hide_var.get() == 1:  # 如果勾选了隐藏密码
            password_entry.config(show="*")  # 设置输入框的显示内容为*
        else:
            password_entry.config(show="")  # 不隐藏密码,显示实际输入内容
    
    window = tk.Tk()
    window.title("Password Input")
    window.geometry("200x150")
    
    hide_var = tk.IntVar()
    hide_checkbox = tk.Checkbutton(window, text="隐藏密码", variable=hide_var, command=hide_password)
    hide_checkbox.pack()
    
    password_label = tk.Label(window, text="密码:")
    password_label.pack()
    
    password_entry = tk.Entry(window, show="")  # 创建一个输入框,初始时不隐藏密码
    password_entry.pack()
    
    window.mainloop()
    

    运行以上代码,即可实现一个具有“隐藏密码”功能的密码输入界面。当勾选“隐藏密码”时,输入框中的密码会显示为*号,取消勾选则显示实际输入内容。

    希望以上信息对你有所帮助!如果还有其他问题,请继续提问。