Python снятие флажка - PullRequest
0 голосов
/ 16 июня 2020

Я немного повозился с python. У меня была идея, и я хотел написать программу. Теперь вместо того, чтобы вводить go в командную строку, я хотел сделать простой GUI, поскольку я никогда не делал их сам. Теперь я немного пробовал, и по какой-то причине, когда я устанавливаю свой флажок, он делает то, что должен делать, но он не будет отмечен. Я потратил немало времени на поиски в Google, почему это происходит, но обычно я попадаю на сайт с кодом, который находится за пределами моего понимания. Кто-нибудь знает, как это исправить? И, может быть, сделать так, чтобы установка и снятие флажка делали разные вещи в не слишком сложном коде?

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()

1 Ответ

0 голосов
/ 16 июня 2020

Я думаю, что проблема вызвана bind из keepMeLoggedIn

замените код 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")

Надеюсь, это вам поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...