Python取消选中复选框

2024-09-30 06:30:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我在和python打交道。我有一个想法,想做一个节目。现在,我想做一个简单的GUI,而不是让它进入命令提示符,因为我自己从来没有真正做过。 现在我尝试了一下,出于某种原因,每当我选中复选框时,它都会做它应该做的事情,但它看起来不会被选中。我花了大量时间在谷歌上搜索为什么会发生这种情况,但我通常会在一个网站上找到我无法理解的代码。 有人知道如何解决这个问题吗? 也许在不太复杂的代码中,检查和取消选中复选框可以做不同的事情

from tkinter import *
import tkinter.messagebox
import time

root = Tk()
root.geometry("500x300")
root.title("Login")


def checkbutton(event):
    tkinter.messagebox.showinfo('Keep me logged in','I`ll remeber it!')
    print("test")

def showCredentials(event):
    USERNAME = entryUsername.get()
    PASSWORD = entryPassword.get()
    print(USERNAME)
    print(PASSWORD)

def deleteText(event):
    testLabel.destroy()
    print("Done!")


username = Label(root, text="Username")
password = Label(root, text="Password")
username.grid(row=0,column=0)
password.grid(row=1,column=0)


entryUsername = Entry(root)
entryPassword = Entry(root)
entryUsername.grid(row=0,column=1)
entryPassword.grid(row=1,column=1)

keepMeLoggedIn = Checkbutton(root,text="Keep me logged in")
keepMeLoggedIn.bind("<Button-1>", checkbutton)
keepMeLoggedIn.grid(columnspan=2,sticky=E)

testButton = Button(root, text="Print credentials")
testButton.bind("<Button-1>", showCredentials)
testButton.grid(row=3, column=1)


# **** TEST ****

testLabel = Label(root, text="test")
testLabel.grid(row=4, column=1)
testButton1 = Button(root,text="delete text")
testButton1.bind("<Button-1>", deleteText)
testButton1.grid(row=4, column=0)
root.mainloop()

Tags: textimporteventtkinterdefcolumnbuttonroot
1条回答
网友
1楼 · 发布于 2024-09-30 06:30:54

我认为问题是由{}的{}引起的

用以下代码替换keepMeLoggedIn代码

keepMeLoggedIn = Checkbutton(root,text="Keep me logged in",command=checkbutton1)
#keepMeLoggedIn.bind("<Button-1>", checkbutton)
keepMeLoggedIn.grid(columnspan=2,sticky=E)

并将checkbutton()方法替换为

def checkbutton1():
    tkinter.messagebox.showinfo('Keep me logged in','I`ll remeber it!')
    print("test")

希望这对你有帮助

相关问题 更多 >

    热门问题