在下面的代码仍在运行时使用while-true循环(python)
我正在制作一款名为: 闲置的笔(制造笔) 每1秒钟我就会得到一支奖金笔 我是如何得到一支笔奖金的在下面的代码仍在运行时使用while-true循环(python),python,while-loop,Python,While Loop,我正在制作一款名为: 闲置的笔(制造笔) 每1秒钟我就会得到一支奖金笔 我是如何得到一支笔奖金的 Import time While true make a pen() time.sleep(1) 但是我在while-true循环下有一些代码。 while-true循环下的代码就像按钮一样 升级钢笔或制作钢笔 那么如何使while true循环下的代码工作呢 这是我的游戏,我很高兴有人能复制它 还没准备好 import functools import tkinter impo
Import time
While true
make a pen()
time.sleep(1)
但是我在while-true循环下有一些代码。
while-true循环下的代码就像按钮一样
升级钢笔或制作钢笔
那么如何使while true循环下的代码工作呢
这是我的游戏,我很高兴有人能复制它
还没准备好
import functools
import tkinter
import tkinter.messagebox
import time
from random import seed
from random import randint
# eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
window = tkinter.Tk()
window.title('Idle Pen')
def print_pen(number: int):
return f"Pens: {number}"
class pencount:
def __init__(self):
self.pencount = 0
self.text = tkinter.Text(height=1, width=30)
self.text.insert("1.0", print_pen(0))
self.text['state'] = 'disabled'
self.text.pack()
def changepencount(self, count):
if self.pencount + count < 0:
return
self.pencount = self.pencount + count
self.text['state'] = 'normal'
self.text.delete("1.0", "end")
self.text.insert("1.0", print_pen(self.pencount))
self.text['state'] = 'disabled'
self.text.pack()
pen = pencount()
changepenup = functools.partial(pen.changepencount, 1)
B = tkinter.Button(window, text="Make Pen", command=changepenup)
changependown = functools.partial(pen.changepencount, -100)
A = tkinter.Button(window, text='Penmaker', command=changependown)
Q = tkinter.Button(window, text="Quit", command=window.destroy)
U = tkinter.Button
# eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
B.pack()
A.pack()
Q.pack()
window.mainloop()
导入工具
进口tkinter
导入tkinter.messagebox
导入时间
从随机输入种子
从随机导入randint
#EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
window=tkinter.Tk()
window.title(“空闲笔”)
def打印笔(编号:int):
返回f“Pens:{number}”
班数:
定义初始化(自):
self.pencount=0
self.text=tkinter.text(高度=1,宽度=30)
self.text.insert(“1.0”,打印笔(0))
self.text['state']='disabled'
self.text.pack()
def更改计数(自身、计数):
如果self.pencount+计数<0:
返回
self.pencount=self.pencount+计数
self.text['state']='normal'
self.text.delete(“1.0”,“结束”)
self.text.insert(“1.0”,打印笔(self.pencount))
self.text['state']='disabled'
self.text.pack()
pen=pencount()
changepenup=functools.partial(pen.changepencount,1)
B=tkinter.Button(窗口,text=“制笔”,命令=changepenup)
changependown=functools.partial(pen.changepcount,-100)
A=tkinter.Button(窗口,text='Penmaker',command=changependown)
Q=tkinter.Button(窗口,text=“退出”,命令=window.destroy)
U=tkinter.按钮
#EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
B.包装()
A.包装()
Q.pack()
window.mainloop()
您可以使用线程
在单独的线程中运行循环,然后主线程可以运行tkitner
或者您可以使用tkinter
函数after()
(而不是while True
)来延迟运行函数,并且此函数应该再次使用after()
来自行运行
import tkinter as tk
# --- functions ---
def update():
global value
value += 1
text = f'make penny: {value}'
print(text)
label['text'] = text
# run again after 1s (1000ms)
root.after(1000, update)
# --- main ---
value = 0
root = tk.Tk()
label = tk.Label(root, text="make penny: 0")
label.pack()
button = tk.Button(root, text="Exit", command=root.destroy)
button.pack()
# run first time after 1s (1000ms)
root.after(1000, update)
root.mainloop()
也许你应该在分开的
线程中运行while True
,或者也许你应该使用root.after(毫秒,函数)
定期运行代码(而不是使用while True
)`这里有一些示例如何使用after()
定期更新小部件上的时间。