Найти - Пользователи
Полная версия: GUI PyQt4 и многопоточность
Начало » GUI » GUI PyQt4 и многопоточность
1
MyNick
#!C:\usr\Python\python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import uic
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from TxtToPDF import PDF
def selectFile():
    window.File.setText(QFileDialog.getOpenFileName())
def ConvertTxtToPDF(File):
    window.ConvertTxtToPDFButton.setText(u"Конвертация...")
    window.ConvertTxtToPDFButton.setCheckable(True)
    window.ConvertTxtToPDFButton.setChecked(True)
    pdf = PDF()
    pdf.add_font('DejaVu', '', 'DejaVuSansCondensed.ttf', uni=True)
    pdf.print_chapter(2, 'THE PROS AND CONS', File)
    pdf.output(File[:-3]+'pdf', 'F')
    QMessageBox.information(window, u"Info",u"Convert files in "+File[:-3]+u"pdf",buttons=QMessageBox.Close,defaultButton=QMessageBox.Close)
    window.ConvertTxtToPDFButton.setText(u"Конвертировать")
    window.ConvertTxtToPDFButton.setChecked(False)
app = QApplication(sys.argv)
window = uic.loadUi("ui.ui")
window.show()
QObject.connect(window.SelectTxtFile, SIGNAL('clicked()'), selectFile)
QObject.connect(window.ConvertTxtToPDFButton, SIGNAL('clicked()'), lambda : ConvertTxtToPDF(unicode(window.File.text())))
sys.exit(app.exec_())

Проблема заключается в том, что сначала выполняется код:

pdf = PDF()
pdf.add_font('DejaVu', '', 'DejaVuSansCondensed.ttf', uni=True)
pdf.print_chapter(2, 'THE PROS AND CONS', File)
pdf.output(File[:-3]+'pdf', 'F')

, а затем
window.ConvertTxtToPDFButton.setText(u"Конвертация...")
window.ConvertTxtToPDFButton.setCheckable(True)
window.ConvertTxtToPDFButton.setChecked(True)

Я пытался использовать многопоточность, но кнопка изменяется только после сохранения PDF.
Rodegast
> Проблема заключается в том, что сначала выполняется код

Код выполняется так как надо, а проблема заключается в том что ты ООП не знаешь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB