【发布时间】:2019-08-12 19:30:36
【问题描述】:
我用 tkinter 编写了一个 python 程序来显示这 4 个国家的大陆:尼日利亚、加拿大、中国和澳大利亚——当用户单击“进入”按钮时。我希望当用户单击“Enter”按钮时,响应标签中的文本应显示所选国家所属的特定大陆。
主要问题是我不知道如何使输出在主程序窗口中可见的标签中更新,而是输出显示在 python shell 上。 (我是 python tkinter GUI 的新手)
============================ 代码 ================= =====================
from functools import partial
import tkinter as tk
from tkinter import *
def serial_port(var):
selection = var.get()
# to save space
text_dict = {
1: 'Africa',
2: 'North America',
3: 'Asia',
4: 'Australia'}
text_to_print = text_dict[selection]
print(text_to_print) #apparently, I learn I can't use print in GUI but idk what to use in place of print here
def main():
root= tk.Tk()
root.title("Continent")
root.geometry("500x300")
var = IntVar()
var.set(1)
#Button to show selected profile to assign FTW
Lang_1=Radiobutton(root, text='Nigeria', variable=var, value=1, width=20)
Lang_2=Radiobutton(root, text='Canada', variable=var, value=2, width=20)
Lang_3=Radiobutton(root, text='Japan', variable=var, value=3, width=20)
Lang_4=Radiobutton(root, text='Australia', variable=var, value=4, width=20)
# Button to show entered reg values and data in it
Enter_Button=Button(root, text='ENTER',command=partial(serial_port, var), relief="ridge", background="Cyan", width=20)
Lang_1.grid(row=1, column=5)
Lang_2.grid(row=2, column=5)
Lang_3.grid(row=3, column=5)
Lang_4.grid(row=4, column=5)
Enter_Button.grid(row=7, column=3)
root.mainloop()
if __name__ == '__main__':
main
【问题讨论】:
-
" 如何使输出在标签中更新可见":了解The Tkinter Label Widget