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
| class FileDialog(QFileDialog):
#========================================================================
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
#========================================================================
def getExistingDirectory(self, parent=None, WidgetToAdd=None, Title="QFileDialog", PathDir=".", Filter="All files (*.*)", SelectedFilter="", Options=None):
#--------------------------------------------------------------------
# configuration de la fenêtre de dialogue: à vérifier que c'est complet!
self.setWindowTitle(Title)
self.setDirectory(PathDir)
self.setFileMode(QFileDialog.Directory)
self.setAcceptMode(QFileDialog.AcceptOpen)
if Options!=None:
self.setOptions(Options)
self.setOption(QFileDialog.DontUseNativeDialog, True)
self.setOption(QFileDialog.ShowDirsOnly, True)
#--------------------------------------------------------------------
# on ajoute le widget à la fenêtre de dialogue
layout = self.layout()
layout.addWidget(WidgetToAdd, 4, 0, 4, 3)
#--------------------------------------------------------------------
# interaction avec l'utilisateur et retour du résultat
if self.exec_():
return list(self.selectedFiles())[0]
else:
return ""
..........
BigWidget = QWidget()
BigLayout = QVBoxLayout()
cbox1 = QRadioButton(self.Trad["Convert7"], BigWidget)
cbox2 = QRadioButton(self.Trad["Convert8"], BigWidget)
cbox3 = QRadioButton(self.Trad["Convert9"], BigWidget)
cbox1.setChecked(True)
BigLayout.addWidget(cbox1)
BigLayout.addWidget(cbox2)
BigLayout.addWidget(cbox3)
BigWidget.setLayout(BigLayout)
fileDialog = FileDialog()
fichier = fileDialog.getExistingDirectory(None, BigWidget, self.Trad["Convert6"], QDir.path(QDir(str(File.parent))))
print(fichier, cbox1.isChecked(), cbox2.isChecked(), cbox3.isChecked()) |
Partager