Python Проблема с tkinter - PullRequest
0 голосов
/ 05 апреля 2020

Пожалуйста, помогите мне с этим кодом, если я ввожу правильный ответ, который равен \ '9' \ in user_input, messagebox, который я получаю, это "Вы проиграли", а не "Вы выиграли" .

Любая помощь будет оценена, спасибо всем.

from tkinter import *
from tkinter import messagebox

magic = str(9)
rt = Tk()

def roll():
    if user_input == magic:
        messagebox._show("Congratulation", "You Have Won!!")
    else:
        messagebox._show("Try Again", "You Have Lost!!")

label1 = Label(rt , text = "Enter Your Number Here: ").pack()
user_input = Entry(rt).pack()
btn1 = Button(rt, text = "Click", command = roll).pack()

rt.mainloop()

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

не пишите Entry.pack()

Entry - это класс, он создает экземпляр (назовем его i1)
, выполняя it.pack(), когда вы помещаете его в окно, но вернуть None

, так что в основном вы говорите

Entry().pack()
user_input = None

сохранить Entry экземпляр в переменной (скажем e1)
и получить user_input внутри roll функция от
user_uinput = e1.get()

также, я рекомендую использовать oop для работы с tkinter, но нормально начинать без

1 голос
/ 05 апреля 2020

Ваш user_input равен None, поскольку метод pack() возвращает None, и вы устанавливаете его равным user_input. Одним из способов решения этой проблемы является получение текстового значения записи в функции.

from tkinter import*
from tkinter import messagebox

magic = str(9)
rt = Tk()


def roll():
    user_input = entry.get()  # getting the text value of the entry widget
    if user_input == magic:
        messagebox._show("Congratulation", "You Have Won!!")
    else:
        messagebox._show("Try Again", "You Have Lost!!")


label1 = Label(rt, text="Enter Your Number Here: ").pack()
entry = Entry(rt)  # set this equal to the variable, not with the execution of pack()
entry.pack()
btn1 = Button(rt, text="Click", command=roll).pack()

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