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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| # -*- coding: iso-8859-1 -*-
#Code pour Python3. Pour Python2, enlever les parenthèses après les print.
import sys
from PyQt4 import QtGui, QtNetwork, QtCore
h = 200
l = 400
serveur = monserveur
port = monport
login = monlogin
mdp = monmdp
etat = {0:"Aucune connexion", 1:"Résolution du nom en cours", 2:"Tentative de connexion en cours",
3:"Connexion établie", 4:"Identification établie", 5:"Déconnexion en cours"}
class Frame(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.resize(l,h)
self.setFont(QtGui.QFont("Verdana",8))
self.btn = QtGui.QPushButton("Se connecter", self)
self.btn.move(10, 10)
self.btn1 = QtGui.QPushButton("Se déconnecter", self)
self.btn1.move(110, 10)
self.btn2 = QtGui.QPushButton("Liste", self)
self.btn2.move(210, 10)
self.txt = QtGui.QTextEdit(self)
self.txt.setGeometry(10, 50, 150, 100)
self.treewid = QtGui.QTreeWidget(self)
self.treewid.setGeometry(200, 50, 150, 100)
self.ftp = QtNetwork.QFtp(self)
self.btn.clicked.connect(self.actionCo)
self.ftp.stateChanged.connect(self.stateServer)
self.btn1.clicked.connect(self.actionDeco)
self.btn2.clicked.connect(self.list_)
self.treewid.itemClicked.connect(self.cd_)
self.ftp.listInfo.connect(self.list_info)
def actionCo(self):
if self.ftp.state() != 0:
print ('Serveur en cours de connexion ou connecté')
else:
print ('Début de connexion')
self.ftp.connectToHost(serveur, port)
self.ftp.login(login, mdp)
def actionDeco(self):
if self.ftp.state() == 0:
print('Serveur non connecté')
else:
self.ftp.close()
def stateServer(self):
print (etat[self.ftp.state()])
print()
def list_(self):
self.txt.clear()
self.treewid.clear()
racine = QtGui.QTreeWidgetItem()
racine.setText(0,'..')
self.treewid.addTopLevelItem(racine)
self.liste = self.ftp.list()
def list_info(self,i):
item = QtGui.QTreeWidgetItem()
if i.isDir():
item.setText(0,i.name())
self.treewid.addTopLevelItem(item)
if i.isFile():
self.txt.append(i.name())
def cd_(self, item, col):
self.ftp.cd(item.text(0))
self.list_()
app = QtGui.QApplication(sys.argv)
frame = Frame()
frame.show()
sys.exit(app.exec_()) |
Partager