bin seit einigen Wochen dabei, mir Python anzulesen/ zu tippen.
Momentan versuche ich mich an einer Chat Applikation...
Nachdem die Basics klar waren, hab ich mich an Threads versucht.
Nach einigen Verzweiflungen hab ichs grade so hinbekommen, und hab mich jetzt mit TKinter
beschäftigt. Als ich dann aber versucht habe, GUI und Threads zu verbinden, klappen die Threads wieder nicht, und ich habe auch soweit keinen Plan mehr..
Code: Alles auswählen
from Tkinter import *
import socket
import threading
from threading import Thread
import time
global s
global root
class Application(Frame, threading.Thread):
def __init__(self, master=None):
self.started=0
root = Tk()
Frame.__init__(self, master)
self.grid()
self.createWidgets()
self.textfenster()
def send(self):
self.nachricht = self.entry.get()
self.komm.send(self.nachricht)
def createWidgets(self):
enter=Frame(self)
enter.pack(side=BOTTOM)
self.entry = Entry(enter)
self.entry.pack(side=LEFT,padx=10,pady=12)
self.sendbutton = Button(enter, text='Senden', command = self.send)
self.connbutton = Button(enter, text='Verbinden', command = self.star)
self.sendbutton.pack(side=RIGHT)
self.connbutton.pack(side=RIGHT)
def textfenster(self):
textfr = Frame(self)
self.text=Text(textfr, height=10,width=50,background='white', borderwidth=5)
textfr.pack(side=RIGHT)
self.text.pack(side=TOP)
def star(self):
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.s.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, 1 )
self.s.bind(("", 20000))
self.s.listen(1)
self.komm, self.addr = self.s.accept()
self.recc=self.rec(self)
self.recc.start()
[i]# Hier sollte der Thread initialisiert werden, allerdings führt mir das Script nur noch den Thread aus..[/i]
print'Done..'
def rec(self, Thread): #Hier sollte der Thread beginnen
while True:
time.sleep(0.5)
self.s.settimeout(0.1)
self.data = self.komm.recv(1024)
if self.data:
self.text.config(state=NORMAL)
self.text.insert(END, self.data)
self.text.config(state=DISABLED)
app = Application()
app.mainloop()
Danke im Vorraus