import Tkinter
import random
win = Tkinter.Tk()
win.title('Dice Roller')
def mainloop():
class Die:
def __init__(self,ivalue, parent):
self.value = ivalue
self.display = Tkinter.Label(parent,relief='ridge',borderwidth=4, text=str(self.value))
def roll(self):
self.value = random.randint(1,6)
self.display.config(text=str(self.value))
class diceRoller:
def rolldice():
d1.roll()
d2.roll()
d3.roll()
def __init__(self):
self.diceList = []
self.win = Tkinter.Tk("Dice Roller")
for i in range(3):
di = Die(self.win)
self.dieList.append(di)
rolldice()
row1 = Tkinter.Frame(win)
row2 = Tkinter.Frame(win)
d1.roll.display.pack(side="left")
d2.roll.display.pack(side="left")
d3.roll.display.pack(side="left")
row1.pack()
rolldice = Tkinter.Button(row2, command=rolldice(), text = "Roll")
rolldice.pack()
row2.pack()
win.mainloop()
我在使用Tkinter时遇到了我的python代码问题。我试图让它制作一个带有三个按钮的窗口,这些按钮显示骰子上滚动的数字,另一个可以让我重新掷骰子。
答案 0 :(得分:0)
方法diceRoller
下的类rolldice
内的代码必须采用某种方法。它不能只是留在课堂上。使用def
创建方法并将该代码添加到其中。
如果方法的名称是__init__
,则称为构造函数。构造函数是在创建对象时(即执行diceRoller()
时)将调用的方法。您可能应该将现在只是放在diceRoller
内的代码放入这样的方法/构造函数中,我不知道(您应该知道是否属于这种情况)。< / p>
注意:在Python中,我们通常会写出类名大写的第一个字符。