如何使用多处理在一个tkinter窗口中创建两个计时器?

2024-10-03 02:47:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用多处理在一个tkinter窗口中创建两次。我想同时运行两个计时器。这是代码。首先显示包含给定文本的窗口,然后显示错误

代码:

from multiprocessing import Process
from time import time, sleep
from tkinter import *

class Main:
    def __init__(self):
        self.root = Tk()
        self.root.geometry('300x300')

        self.lab1 = Label(self.root, text='None')
        self.lab1.place(x=10, y=10)

        self.lab2 = Label(self.root, text='None')
        self.lab2.place(x=10, y=50)

        self.root.mainloop()

    def c1(self):
        st = time()
        for _ in range(10):
            self.lab1['text'] = int(time()-st)
            self.root.update()
            sleep(1)

    def c2(self):
        st = time()
        for _ in range(10):
            self.lab2['text'] = int(time()-st)
            self.root.update()
            sleep(1)

    def main(self):

        self.p1 = Process(target=self.c1)
        self.p2 = Process(target=self.c2)

        self.p1.start()
        self.p2.start()

        self.p1.join()
        self.p2.join()


if __name__ == '__main__':
    start = Main()
    start.main()

Tags: textfromimportselftimemaindefsleep