Как я могу отобразить вывод команды кнопки в новом окне, используя tkinter? - PullRequest
0 голосов
/ 18 марта 2019

Я успешно создал графический интерфейс, который принимает пользовательский ввод и выдает желаемый результат, но я не могу понять, как отобразить этот вывод в другом окне, а не только в консоли IDE.Моя цель - открыть окно с выводом, как только пользователь нажмет «Вычислить BMI», но на данный момент вывод отображается только в консоли.Я искал решения, но я не могу понять, какие инструменты я могу использовать, чтобы это произошло.Я новичок в GUI, поэтому любая помощь будет высоко ценится.

from tkinter import *

root = Tk()

def myBMI():
    weight = float(Entry.get(weight_field))
    height = float(Entry.get(height_field))
    bmi = (weight*703)/(height*height)
    print(bmi)

height_label = Label(root, text="Enter your height: ")
height_field = Entry(root)
height_field.grid(row=0, column=1)
height_label.grid(row=0, sticky=E)

weight_label = Label(root, text="Enter your weight: ")
weight_field = Entry(root)
weight_field.grid(row=1, column=1)
weight_label.grid(row=1, sticky=E)

compute_bmi = Button(root, text="Compute BMI", command=myBMI)
compute_bmi.grid(row=2)

root.mainloop()

1 Ответ

1 голос
/ 18 марта 2019

«всплывающие окна» tkinter обычно обрабатываются с помощью метода tk.TopLevel()!Это создаст новое окно, которое можно озаглавить или добавить в него кнопки, например:

top = Toplevel()
top.title("About this application...")

msg = Message(top, text=about_message)
msg.pack()

button = Button(top, text="Dismiss", command=top.destroy)
button.pack()

Так что вместо print(bmi) вы можете сделать что-то вроде, скажем:

top = tk.Toplevel()
msg = tk.Label(top, text=bmi)
msg.pack()

Дополнительную документацию можно найти на http://effbot.org/tkinterbook/toplevel.htm!

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