Bonjour,

Je débute en python et j'essaye de faire une application client/serveur avec une interface graphique en pyQT.
Pour l'instant j'essaye de creer l'interface du "serveur".

Pour l'instant c'est très simple j'ai juste une fenêtre avec un beau boutton qui lorsqu'il est cliqué se met en attente de connexions.

Hors quand je clique sur ce boutton, l'appli se fige completement.
Les sockets fonctionnent bien (je peux me connecter via telnet).

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
#!/usr/bin/python
# -*- coding: utf8 -*-
import sys
import string
import pickle
import os
import SocketServer
import thread
from qt import *
from main import *
 
class GestionnaireEcho(SocketServer.BaseRequestHandler):
	def handle(self):
		while True:
			donneesRecues = self.request.recv(8192)
			if not donneesRecues: break
			self.request.sendall(donneesRecues)
		self.request.close()
 
class sync:
	index=-1
	def __init__(self,args):
		self.qtapp=QApplication(args)
		self.win=Main()
		self.win.show()
 
		self.qtapp.connect(self.win.Sync,SIGNAL("clicked()"),self.sync)
		self.qtapp.connect(self.win.annuler,SIGNAL("clicked()"),self.annuler)
		self.qtapp.connect(self.qtapp, SIGNAL("lastWindowClosed()"),self.qtapp,SLOT("quit()"))
		self.qtapp.exec_loop()
 
	def sync(self):
		self.win.Text1.setText("ok")
		self.win.Sync.setEnabled(False)
		serveur = SocketServer.ThreadingTCPServer(('', 8881), GestionnaireEcho)
		serveur.serve_forever()
 
	def annuler(self):
		self.win.Sync.setEnabled(True)
 
def main(args):
	msync = sync(args)
 
if __name__=="__main__":
	main(sys.argv)
Merci par avance de votre aide