import multiprocessing
import tkinter as tk
from tkinter.ttk import Frame, Button
class UI:
def __init__(self, master, queue):
# set up start of screen
self.root = master
self.frame = Frame(self.root, width=800, height=800)
self.frame.pack_propagate(0)
self.frame.pack()
self.index = 0
self.queue = queue
bt = Button(self.frame, text='dddddd', width=50)
bt.bind('<Button-1>', self.send_message)
bt.grid(row=0)
def send_message(self, event):
self.queue.put('----------------%d' % self.index)
self.index += 1
def runtk(queue):
root = tk.Tk()
ui = UI(root, queue)
root.mainloop()
if __name__ == '__main__':
# 创建进程通信的Queue
queue = multiprocessing.Queue()
# 创建子进程
process = multiprocessing.Process(target=runtk, args=(queue,))
# 启动子进程
process.start()
while True:
print(multiprocessing.current_process().pid, "取数据:")
print(queue.get())