Jag försöker lära mig hur man gör ett gui med Tkinter i Python, bland annat för att göra chattprogrammet jag pratade om tidigare.
Vad jag försöker göra nu är att skriva ut en ström av text i en textruta.
Kod: Markera allt
# -*- coding: utf-8 -*-
from Tkinter import *
import time
import thread
def loopen():
while TRUE:
T.insert(END, "EN NY RAD 123456789\n")
time.sleep(1)
root = Tk()
T = Text(root, height = 15, width = 35)
T.pack(side = LEFT, fill = Y)
S = Scrollbar(root)
S.pack(side = RIGHT, fill = Y)
S.config(command = T.yview)
T.config(yscrollcommand = S.set)
T.insert(END, "Hej!\nDetta är en textruta\nmed\nflera\nrader\n")
thread.start_new_thread(loopen, ())
root.mainloop()
Det verkar funka bra, men jag får ett fel när jag stänger rutan.
Kod: Markera allt
Unhandled exception in thread started by <function loopen at 0xb6dac304>
Traceback (most recent call last):
File "/home/transistor256/Dokument/Python/Texttest.py", line 9, in loopen
T.insert(END, "EN NY RAD 123456789\n")
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 3071, in insert
self.tk.call((self._w, 'insert', index, chars) + args)
RuntimeError: main thread is not in main loop
