예제 #1
0
def example():
    import __main__
    from Tkconstants import END

    stext = ScrolledText(bg='white', height=10)
    stext.insert(END, __main__.__doc__)

    f = Font(family="times", size=30, weight="bold")
    stext.tag_config("font", font=f)

    stext.insert(END, "Hello", "font")
    stext.pack(fill=BOTH, side=LEFT, expand=True)
    stext.focus_set()
    stext.mainloop()
예제 #2
0

def producer(id):
    for i in range(5):
        time.sleep(0.1)
        print('put')
        dataQueue.put('[producer id=%d, count=%d]' % (id, i))


def consumer(root):
    while not dataQueue.empty():
        data = dataQueue.get(block=False)
        root.insert('end', 'consumer got => %s\n' % str(data))
        root.see('end')
    root.after(250, lambda: consumer(root))  # 4 times per sec


def makethreads():
    for i in range(4):
        thread.start_new_thread(producer, (i, ))


if __name__ == '__main__':
    # main GUI thread: spawn batch of worker threads on each mouse click
    from ScrolledText import ScrolledText
    root = ScrolledText()
    root.pack()
    root.bind('<Button-1>', lambda event: makethreads())
    consumer(root)  # start queue check loop in main thread
    root.mainloop()  # pop-up window, enter tk event loop
예제 #3
0
파일: test.py 프로젝트: antoshkaplus/Py_Fun
import thread, Queue as queue, time
dataQueue = queue.Queue()    # infinite size

def producer(id):
  for i in range(5):
    time.sleep(0.1)
    print('put')
    dataQueue.put('[producer id=%d, count=%d]' % (id, i))

def consumer(root):
  while not dataQueue.empty():
    data = dataQueue.get(block=False)
    root.insert('end', 'consumer got => %s\n' % str(data))
    root.see('end')
  root.after(250, lambda: consumer(root))    # 4 times per sec

def makethreads():
  for i in range(4):
    thread.start_new_thread(producer, (i,))

       
if __name__ == '__main__':
  # main GUI thread: spawn batch of worker threads on each mouse click
  from ScrolledText import ScrolledText
  root = ScrolledText()
  root.pack()
  root.bind('<Button-1>', lambda event: makethreads())
  consumer(root)                       # start queue check loop in main thread
  root.mainloop()                      # pop-up window, enter tk event loop