生成的单词打印到终端但不打印 GUI 条目 - Tkinter

发布于 2025-01-19 21:53:28 字数 1042 浏览 3 评论 0原文

目的是随机从列表中获取一个单词,并将其显示在GUI的屏幕上。当我单击“ Dammi”按钮时,这些单词显示在终端中,但我无法在GUI中显示它们。我尝试了一个条目和标签,没有成功。

from tkinter import *
import random

# Window

root = Tk()
root.geometry("400x350")
root.title("Passato Remoto")
root.configure(bg="#000000")
root.resizable(False, False)

# Find Verb

verbi = ['Dare', 'Dire', 'Fare', 'Sapere', 'Prendere']

# Dammi Button

def give():
    print(random.choice(verbi))

# Create Buttons

dammi = Button(root, text='Dammi un verbo',
bg='#ffffff',
fg='#000000',
borderwidth=0,
highlightthickness=0,
font=('Helvetica', 16),
height=2,
width=10,
command=give)
dammi.grid(column=0, row=2, pady=50, padx=25)

con = Button(root, text='Coniugazione',
bg='#ffffff',
fg='#000000',
borderwidth=0,
highlightthickness=0,
font=('Helvetica', 16),
height=2,
width=10)
con.grid(column=2, row=2, pady=50, padx=25)

# Put Verb On Screen

verb = Entry(root, text=give(), font=('Helvetica', 40), width=10, bg="#ffffff", fg="#000000")
verb.grid(column=0, columnspan=3, row=1, pady=50, padx=80)

root.mainloop()


The purpose is to pull a word from the list randomly and display it on the screen in the GUI. The words are displayed in the terminal when I click the button "dammi" but I cannot get them to display in the GUI. I have tried both an Entry and Label with no success.

from tkinter import *
import random

# Window

root = Tk()
root.geometry("400x350")
root.title("Passato Remoto")
root.configure(bg="#000000")
root.resizable(False, False)

# Find Verb

verbi = ['Dare', 'Dire', 'Fare', 'Sapere', 'Prendere']

# Dammi Button

def give():
    print(random.choice(verbi))

# Create Buttons

dammi = Button(root, text='Dammi un verbo',
bg='#ffffff',
fg='#000000',
borderwidth=0,
highlightthickness=0,
font=('Helvetica', 16),
height=2,
width=10,
command=give)
dammi.grid(column=0, row=2, pady=50, padx=25)

con = Button(root, text='Coniugazione',
bg='#ffffff',
fg='#000000',
borderwidth=0,
highlightthickness=0,
font=('Helvetica', 16),
height=2,
width=10)
con.grid(column=2, row=2, pady=50, padx=25)

# Put Verb On Screen

verb = Entry(root, text=give(), font=('Helvetica', 40), width=10, bg="#ffffff", fg="#000000")
verb.grid(column=0, columnspan=3, row=1, pady=50, padx=80)

root.mainloop()


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若能看破又如何 2025-01-26 21:53:28

最简单的方法可能是使用 StringVar。我已将其添加到问题代码中。

from tkinter import *
import random

root = Tk()
root.geometry("400x350")
root.title("Passato Remoto")
root.configure(bg="#000000")
root.resizable(False, False)
    
# Find Verb
    
verbi = ['Dare', 'Dire', 'Fare', 'Sapere', 'Prendere']
   
# Dammi Button
   
sample = StringVar()           # Added
   
def give():                    # Changed
    sample.set( random.choice(verbi) )
    print( sample.get() )
   
# Create Buttons
   
dammi = Button(root, text='Dammi un verbo',
   bg='#ffffff',
   fg='#000000',
   borderwidth=0,
   highlightthickness=0,
   font=('Helvetica', 16),
   height=2,
   width=10,
   command=give)
dammi.grid(column=0, row=2, pady=50, padx=25)
   
con = Button(root, text='Coniugazione',
   bg='#ffffff',
   fg='#000000',
   borderwidth=0,
   highlightthickness=0,
   font=('Helvetica', 16),
   height=2,
   width=10)
con.grid(column=2, row=2, pady=50, padx=25)
       
# Put Verb On Screen

#                                          changed here
verb = Label(root, font=('Helvetica', 40), textvariable = sample, width=10, bg="#ffffff", fg="#000000")
verb.grid(column=0, columnspan=3, row=1, pady=50, padx=80)
give()   
root.mainloop()

The easiest way is probably to use a StringVar. I've added this into the question code.

from tkinter import *
import random

root = Tk()
root.geometry("400x350")
root.title("Passato Remoto")
root.configure(bg="#000000")
root.resizable(False, False)
    
# Find Verb
    
verbi = ['Dare', 'Dire', 'Fare', 'Sapere', 'Prendere']
   
# Dammi Button
   
sample = StringVar()           # Added
   
def give():                    # Changed
    sample.set( random.choice(verbi) )
    print( sample.get() )
   
# Create Buttons
   
dammi = Button(root, text='Dammi un verbo',
   bg='#ffffff',
   fg='#000000',
   borderwidth=0,
   highlightthickness=0,
   font=('Helvetica', 16),
   height=2,
   width=10,
   command=give)
dammi.grid(column=0, row=2, pady=50, padx=25)
   
con = Button(root, text='Coniugazione',
   bg='#ffffff',
   fg='#000000',
   borderwidth=0,
   highlightthickness=0,
   font=('Helvetica', 16),
   height=2,
   width=10)
con.grid(column=2, row=2, pady=50, padx=25)
       
# Put Verb On Screen

#                                          changed here
verb = Label(root, font=('Helvetica', 40), textvariable = sample, width=10, bg="#ffffff", fg="#000000")
verb.grid(column=0, columnspan=3, row=1, pady=50, padx=80)
give()   
root.mainloop()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文