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
|
class GenePDF:
def __init__(self,ficIni):
self.loadIni()
def loadIni(self): # recuperation des infos dans fichier ini
self.client = ...
self.date = ...
def genere(self): # impression
self.printer = QPrinter(QPrinter.HighResolution)
self.printer.setOutputFormat(QPrinter.PdfFormat)
self.painter = QPainter(self.printer)
...
self.painter.drawPixmap(10*mm,10*mm,QPixmap('logo.png'))
...
self.painter.end()
class ThreadIni(QtCore.QThread): # Thread qui liste les fichiers ini d'un dossier et appelle la classe pour generer pdf..
def __init__(self, parent=None):
super(ThreadIni, self).__init__(parent)
self.parent = parent
def run(self):
list_ini = os.listdir(DOSINI)
nb_row = 0
for fic_ini in list_ini:
if fic_ini[-3:] <> 'INI': continue
f_ini = GenePDF(fic_ini)
f_ini.genere()
self.emit(QtCore.SIGNAL("ajoutLigne(PyQt_PyObject)"), [nb_row, f_ini.client,...])
nb_row +=1
class Fen(QtGui.QWidget): # Fenetre affiche évolution de la génèrations des pdfs..
def __init__(self, parent=None):
super(Fen, self).__init__(parent)
self.setLayout(QtGui.QGridLayout())
self.butPdf = QtGui.QPushButton("PDF")
self.butPDF.clicked.connect(self.clickPDF)
self.table = QtGui.QTableWidget()
self.layout().addWidget(self.butPdf,0,0)
self.layout().addWidget(self.table,1,0)
def clickPDF(self):
self.table.clear()
self.table.setRowCount(0)
t = ThreadIni(self)
self.connect(t, QtCore.SIGNAL("ajoutLigne(PyQt_PyObject)"), self.ajoutLigne)
t.start()
def ajoutLigne(self,obj):
nb_row = obj[0]
self.table.insertRow(nb_row)
it_cli = QtGui.QTableWidgetItem(obj[1].title())
... |
Partager