Python:如何接收随机字符串并将其显示到标签(tkinter)中?

Python: How does one recieve a random string, and display it into a label (tkinter)?

目标:从字符串列表(设置为变量)中随机取一个,并在新的Tkinter中显示window(假设已经有一个在节目中)。另外,如何实现 class 在程序中运行? (这与我假设的 objective 不同。)

技术资料: 使用 Python 版本 2.6.8(出于技术原因)& Pycharm IDE(社区版本)

可能的解决方案:使用 randinit() 命令获取随机整数,并根据整数是什么,将字符串分配给变量,然后通过tkinter 标签的 textvariable 命令。

类的概念代码:

from Tkinter import *
import random

class popUp():
def __init__(self):
    top = self.top = Toplevel()
    self.nth = 0
    Label(top,text="Suggestion:").pack(side=TOP)
    self.message()
    Label(top,textvariable=self.inp)

def message(self):
    self.nth = random.randint(490, 500)
    if self.nth == 490:
        self.inp = "Have a turkey!"
    elif self.nth == 491:
        self.inp = "Have a turkey!"
    elif self.nth == 492:
        self.inp = "Have a turkey!"
    elif self.nth == 493:
        self.inp = "Have a turkey!"
    elif self.nth == 494:
        self.inp = "Have a turkey!"
    elif self.nth == 495:
        self.inp = "Have a turkey!"
    elif self.nth == 496:
        self.inp = "Have a turkey!"
    elif self.nth == 497:
        self.inp = "Have a turkey!"
    elif self.nth == 498:
        self.inp = "Have a turkey!"
    elif self.nth == 499:
        self.inp = "Have a turkey!"
    else:
        self.inp = "Have a turkey!"

   def main():

   root.mainloop()

   if __name__ == '__main__':
       main()

我需要: 对概念代码的更正,我可以使用的不同命令,或使用列出的 objective 的不同代码。

如果我遗漏了任何重要信息,请发表评论,并请尽快回复。

请注意 我的编程后台很少,在 Python 中并且一般。可能需要解释一些概念。

随机选择一个字符串的最简单方法是将它们全部放在一个列表中,然后使用random.choice。为了更改标签中的文本,Tkinter 为您提供了一个 Stringvar class,它将在标签值发生变化时使标签保持最新。看起来你的 self.inp 可能已经是一个(你似乎在创建标签之前缺少 self.inp = Stringvar()),但你需要使用它的 set 方法而不是重新分配它。将它们放在一起看起来像这样:

def message(self):
   self.inp.set(random.choice(messages))

消息设置在 class 之外的某处。