python3.x - python gui 多进程的疑问

查看:403
本文介绍了python3.x - python gui 多进程的疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

from tkinter import *
import concurrent.futures


def p1():
    while True:
        print('1')


def p2():
    while True:
        print('2')


def login():
    login_window.after(1, p1)
    login_window.mainloop()


def main():
    main_window.after(1, p2)
    main_window.mainloop()


if __name__ == '__main__':
    login_window = Tk()
    login()
    main_window = Tk()
    main()
    with concurrent.futures.ProcessPoolExecutor() as executor:
        executor.submit(login)
        executor.submit(main)

如上所示,在Python中如何能够同时运行两个窗口,互不干扰地执行自己的任务。

———————————————————————————————————————————————————

感谢@同意并接受的回答,我修改成了下面这样,但是还是一直输出1。

from tkinter import *
import time


def p1():
    while True:
        print('1')
        time.sleep(1)


def p2():
    while True:
        print('2')
        time.sleep(1)


def main():
    login_window.after(1, p1)
    main_window.after(1, p2)
    main_window.mainloop()


if __name__ == '__main__':
    main_window = Tk()
    login_window = Toplevel()
    main()

解决方案

main_window = tkinter.Tk()
login_window = tkinter.Toplevel()

main_window.mainloop()

这篇关于python3.x - python gui 多进程的疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆