Кнопка не нажимает / вызывает функцию при нажатии - PullRequest
0 голосов
/ 15 февраля 2020

Я добавил новое окно в более крупный проект, и у меня возникли проблемы с кнопками ... Когда вы нажимаете на них во время работы программы, нет никаких признаков их нажатия и ничего не происходит. Я довольно новичок в tkinter, так что если кто-то может помочь, это будет оценено!

from tkinter import *

def window():

    def sign_up_clicked():
        return True
        print ('test')

    def log_in_clicked():
        return False
        print ('test')

    window = Tk()
    window.title('Welcome')
    window.geometry('480x200')

    welcome_lbl = Label(window, text='Welcome', font=('Arial', 26), fg='#71C2FE') #Label with text saying 'welcome' in light blue 
    welcome_lbl.place(x=15, y=10) #placing welcome label in top left of sign_up_window

    under_line_lbl = Label(window, text='_______________________', font=('Arial', 35), fg='#FFB56B') #orange line under blue for looks
    under_line_lbl.place(x=0, y=40)

    intro_lbl = Label(window, text='Please press login if you already have an account,\notherwiseyou can create an account by pressing sign-up. ', font=('Arial', 14, 'bold italic'), justify='left')#lable with text underlined and italics
    intro_lbl.place(x=10, y=90)

    sign_up_btn = Button(window, text='Sign up', relief='raised', width=6, font=('candara', 14), command=sign_up_clicked)
    sign_up_btn.place(x=10, y=130)

    log_in_btn = Button(window, text='Login', relief='raised', width=6, font=('candara', 14), command=log_in_clicked)
    log_in_btn.place(x=10, y=160)

    window.mainloop()

window()

1 Ответ

0 голосов
/ 15 февраля 2020

Вы возвращаетесь до того, как ваше заявление на печать будет достигнуто. Сначала поместите print('test'), а затем return True. Когда функция достигает значения return, она завершает выполнение этой функции, возвращает значение, если вашему возвращению присвоено его значение, и возвращается на место, где оно остановилось в вашем коде.

Рабочий пример:

from tkinter import *

def window():

    def sign_up_clicked():
        print ('test')
        # returns control to mainloop
        return True

    def log_in_clicked():
        print ('test')
        # returns control to mainloop
        return False

    window = Tk()
    window.title('Welcome')
    window.geometry('480x200')

    welcome_lbl = Label(window, text='Welcome', font=('Arial', 26), fg='#71C2FE') #Label with text saying 'welcome' in light blue 
    welcome_lbl.place(x=15, y=10) #placing welcome label in top left of sign_up_window

    under_line_lbl = Label(window, text='_______________________', font=('Arial', 35), fg='#FFB56B') #orange line under blue for looks
    under_line_lbl.place(x=0, y=40)

    intro_lbl = Label(window, text='Please press login if you already have an account,\notherwiseyou can create an account by pressing sign-up. ', font=('Arial', 14, 'bold italic'), justify='left')#lable with text underlined and italics
    intro_lbl.place(x=10, y=90)

    sign_up_btn = Button(window, text='Sign up', relief='raised', width=6, font=('candara', 14), command=sign_up_clicked)
    sign_up_btn.place(x=10, y=130)

    log_in_btn = Button(window, text='Login', relief='raised', width=6, font=('candara', 14), command=log_in_clicked)
    log_in_btn.place(x=10, y=160)

    window.mainloop()

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