gpt4 book ai didi

Python Tkinter 显示名称前带有 Hi

转载 作者:行者123 更新时间:2023-12-04 08:45:32 24 4
gpt4 key购买 nike

  • 您好,我已经接触 Python 几周了,现在开始学习 tkinter。该按钮应包含文本 Say hello,当用户单击该按钮时,底部标签应显示名称并在其前面显示 Hi。但是我无法让标签显示“Hi {name}”。有人可以帮助我吗?
  • from tkinter import *
    from tkinter.ttk import *

    def process_name():
    """Do something with the name (in this case just print it)"""

    global name_entry
    print("Hi {}".format(name.get()))


    def main():
    """Set up the GUI and run it"""

    global name_entry
    window = Tk()

    name_label = Label(window, text='Enter name a name below:')
    name_label.grid(row=0, column=0)
    name_entry = Entry(window)
    name_entry.grid(row=1, column=3)
    button = Button(window, text='Say hello', command=process_name, padding=10)
    button.grid(row=1, column=0, columnspan=2)

    window.mainloop()


    main()
  • 我试过使用 set() 但它不显示。
    谢谢你。
  • 最佳答案

    这应该可以满足您的需求。请务必阅读代码注释以了解我正确执行的操作。
    虽然有几点,

  • 不建议使用通配符导入,如 from tkinter import * .原因很简单。两者 tkintertkinter.ttk具有常见的类和函数,如 Button , Label和更多。解释器决定使用哪些变得模棱两可。
  • 使用 .config().configure()更新 tkinter 中的标签、按钮、条目或文本小部件.就像我在下面的代码中所做的那样。

  • 您的代码已修改
    from tkinter import *
    from tkinter.ttk import *

    def process_name():
    """Do something with the name (in this case just print it)"""

    global name_entry # this will print hi {name} to terminal.
    print("Hi {}".format(name_entry.get()))

    global nameLabel # to change'the label with hi{name} text below the button.
    nameLabel.configure(text=f'Hi {name_entry.get()}')




    def main():
    """Set up the GUI and run it"""

    global name_entry, nameLabel
    window = Tk()

    name_label = Label(window, text='Enter name a name below:')
    name_label.grid(row=0, column=0)
    name_entry = Entry(window)
    name_entry.grid(row=1, column=3)
    button = Button(window, text='Say hello', command=process_name, padding=10)
    button.grid(row=1, column=0, columnspan=2)

    # I defined a label BELOW the button to show how to change
    nameLabel = Label(window, text=' ') # an empty text Label
    nameLabel.grid(row=2)

    window.mainloop()


    main()

    关于Python Tkinter 显示名称前带有 Hi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64346454/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com