class ExportWindow(QDialog): def __init__(self, dataManager: DBManager, parent=None): super(QDialog, self).__init__(parent=parent) self.UI = Ui_ExportCSV() self.UI.setupUi(self) self.UI.dirButton.clicked.connect(self.directory_selection_clicked) self.UI.btnOK.clicked.connect(self.export) self.UI.btnCancel.clicked.connect(self.reject) self.dbMan = dataManager @pyqtSlot() def directory_selection_clicked(self): print('file selection') directory = QFileDialog().getExistingDirectory( caption="Sélectionnez le répertoire pour exporter") print(directory) if directory: self.UI.lineDir.setText(directory) @pyqtSlot() def export(self): directory = self.UI.lineDir.text() print('Should export in : ', directory) self.dbMan.export_csv(directory) self.accept()
def __init__(self, dataManager: DBManager, parent=None): super(QDialog, self).__init__(parent=parent) self.UI = Ui_ExportCSV() self.UI.setupUi(self) self.UI.dirButton.clicked.connect(self.directory_selection_clicked) self.UI.btnOK.clicked.connect(self.export) self.UI.btnCancel.clicked.connect(self.reject) self.dbMan = dataManager
def __init__(self, dataManager: DBManager, parent=None): super().__init__(parent=parent) self.UI = Ui_ExportCSV() self.UI.setupUi(self) self.UI.dirButton.clicked.connect(self.directory_selection_clicked) self.UI.btnOK.clicked.connect(self.export) self.UI.btnCancel.clicked.connect(self.reject) self.UI.lineDir.textChanged.connect(self.directory_changed) self.UI.btnOK.setEnabled(False) self.dbMan = dataManager
class ExportWindow(QDialog): def __init__(self, dataManager: DBManager, parent=None): super().__init__(parent=parent) self.UI = Ui_ExportCSV() self.UI.setupUi(self) self.UI.dirButton.clicked.connect(self.directory_selection_clicked) self.UI.btnOK.clicked.connect(self.export) self.UI.btnCancel.clicked.connect(self.reject) self.UI.lineDir.textChanged.connect(self.directory_changed) self.UI.btnOK.setEnabled(False) self.dbMan = dataManager @pyqtSlot() def directory_selection_clicked(self): print('file selection') directory = QFileDialog().getExistingDirectory( caption="Sélectionnez le répertoire pour exporter") print(directory) if directory: self.UI.lineDir.setText(directory) @pyqtSlot() def directory_changed(self): if self.UI.lineDir.text() != "": self.UI.btnOK.setEnabled(True) else: self.UI.btnOK.setEnabled(False) @pyqtSlot() def export(self): directory = self.UI.lineDir.text() print('Should export in : ', directory) class CSVExporter(WorkerTask): def __init__(self, dbmanager, directory): super().__init__('Exportation CSV', 0) self.dbMan = dbmanager self.directory = directory def process(self): print('Exporting in :', self.directory) self.dbMan.export_csv(directory) self.update_progress.emit(100) print('Exporting done!') exporter = CSVExporter(self.dbMan, directory) process = BackgroundProcess([exporter]) # Create progress dialog dialog = ProgressDialog(process, 'CSV Export', self) process.finished.connect(dialog.accept) process.start() # Show dialog dialog.exec() # Done self.accept()