在Tk小部件中显示标准输出

时间:2013-11-14 18:49:06

标签: python user-interface input tkinter output

我有这个工作到T但我怎么能得到输出显示在GUI ???我无法弄清楚这一点,我想知道是否有人可以帮助我

1 个答案:

答案 0 :(得分:2)

正如Ashish评论的那样,只需使用Label并将其绑定到StringVar变量:

class Application(Frame):


    def __init__(self, master):
        Frame.__init__(self, master)
        self.grid()
        self.create_widgets()

# The class below will house the buttons and boxes 
    def create_widgets(self):
        self.button1 = Button(self, text = "Four Sided Dice", command=self.dice4)
        self.button1.grid()

        self.button2 = Button(self, text = "Six Sided Dice", command=self.dice6)
        self.button2.grid()

        self.button3 = Button(self, text = "Twelve Sided Dice", command=self.dice12)
        self.button3.grid()

        self.label_var = StringVar()

        self.label1 = Label(self, textvariable=self.label_var)
        self.label1.grid()

    # The bellow classes define the commands to use the random function
    def dice4(self):
        fourside = random.randint(1,4)
        self.label_var.set("You Rolled a " + str(fourside) + " using a four sided dice")

    def dice6(self):
        sixside = random.randint(1,6)
        self.label_var.set("You Rolled a " + str(sixside) + " using a six sided dice")

    def dice12(self):
        twelveside = random.randint(1,12)
        self.label_var.set("You Rolled a " + str(twelveside) + " using a twelve sided dice")


app = Application(diceroll)

diceroll.mainloop()

注意:我制作了Application类的dice函数方法。