Python Tkinter GUI problem
Postat: 26 oktober 2014, 18:10:23
Hej!
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.
Mitt största problem var först att all kod jag sätter innan root.mainloop() körs före fönstret öppnas och all kod jag sätter efter root.mainloop() körs när fönstret har stängts. Då tänkte jag att jag kunde sätta koden som skriver ut text i textrutan i en ny tråd.
Det verkar funka bra, men jag får ett fel när jag stänger rutan.
Hur löser jag detta? 
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
