根据Tkinker(Python)中的得分创建一个大小变化的圆圈
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了根据Tkinker(Python)中的得分创建一个大小变化的圆圈,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2239字,纯文字阅读大概需要4分钟。
内容图文
![根据Tkinker(Python)中的得分创建一个大小变化的圆圈](/upload/InfoBanner/zyjiaocheng/771/32d3772ec1dc4334a960a5ca69b6d3e7.jpg)
我真的不太了解Tkinter,我甚至不确定这是可行的.但基本上我想要用户在我编程的游戏中得到的分数的直观表示.由于它目前正在工作,用户可以在“学习”和“派对”之间进行选择,并且取决于他如何回答tamaguchi的大小增加或减少.这个想法是tamaguchi在Tkinter中用圆圈表示,该圆圈与用户获得的分数相对应.我想也许我可以在root.mainloop()中有这个?因此,每次循环时,它都会删除最后一个圆圈,并创建一个具有更新分数的新圆圈.这是我到目前为止所写的:
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.create_widgets()
self.circle()
def circle(self):
circle1.destroy()
r = int(tamaguchin.size)
self.circle1 = circle(r^2*3.14)
self.circle1.grid()
def create_widgets(self):
Label(self,
text = "V?lkommen till spelet!"
).grid(row = 0, column = 6, sticky = W)
self.btn1 = Button(self, text = "study", command = lambda:self.update_text('plugga'))
self.btn1.grid(row=1,column=0)
self.btn2 = Button(self, text = "party", command = lambda:self.update_text('festa'))
self.btn2.grid(row=2,column=0)
self.btn3 = Button(self, text = "exit", command = self.exit)
self.btn5.grid()
def update_text(self,value):
message = "Your choice was",value,"which brings your last 3 choices to:"
print(message)
lista.append(value)
lista.remove(lista[0])
print(lista[0],'-',lista[1],'-',lista[2])
if lista in PositivLista:
tamaguchin.increasesize()
elif lista in NegativLista:
tamaguchin.decreasesize()
elif lista in HalveringsLista:
tamaguchin.halfsize()
else:
tamaguchin.samesize()
return lista
def exit(self):
print('You have chosen to exit the game')
root.destroy()
root = Tk()
root.title("Tamaguchi-game")
root.geometry("500x500")
app = Application(root)
app.grid()
root.mainloop()
我不知道是否有某种内置功能可以帮助我解决这个问题,但我自己还没有找到任何东西.当然,我的想法可能(并且很可能)不是很好,所以如果有人对如何接近它有更好的想法,我会全力以赴;我是一个非常大的菜鸟=]非常感谢任何帮助,我真的很喜欢这个!
解决方法:
有两种方法可以解决此问题.
1)在变量tamaguchin.size的每次更改时更新圆的大小
2)使用计时器更新圆圈. Tkinker使用after函数来执行此操作.
我将提供第二种方法的示例:
def circle(self):
circle1.destroy()
r = int(tamaguchin.size)
self.circle1 = circle(r^2*3.14)
self.circle1.grid()
self.root.after(1000, self.circle)
这将每秒更新一次圆圈.您可以将1000数字更改为所需的更新频率(以毫秒为单位).
内容总结
以上是互联网集市为您收集整理的根据Tkinker(Python)中的得分创建一个大小变化的圆圈全部内容,希望文章能够帮你解决根据Tkinker(Python)中的得分创建一个大小变化的圆圈所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。