1

我有这个工作到 T 但我怎样才能让输出显示在 GUI 中???我想不通,我想知道是否有人可以帮助我

4

1 回答 1

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 类的骰子函数方法。

于 2013-11-14T19:14:43.033 回答