def __init__(self, *args): QFileDialog.__init__(self, *args) self.setOption(self.DontUseNativeDialog, True) # self.setFileMode(self.DirectoryOnly) for view in self.findChildren((QListView, QTreeView)): if isinstance(view.model(), QFileSystemModel): view.setSelectionMode(QAbstractItemView.ExtendedSelection)
def __init__(self, suffix="*.scr", ext="Screencaster Files (*.scr)"): QFileDialog.__init__(self) self.FileMode(self.AnyFile) self.setNameFilter(ext) self.setDefaultSuffix(suffix) self.setDirectory(QDir.homePath() + '/Documents/') if (self.exec_()): self.filenames = self.selectedFiles()
def __init__(self): QFileDialog.__init__(self) self.setOption(self.DontUseNativeDialog, True) self.setFileMode(self.ExistingFiles) butns = self.findChildren(QPushButton) self.butn = [x for x in butns if 'open' in str(x.text()).lower()][0] self.butn.clicked.disconnect() self.butn.clicked.connect(self.clicked) self.tree = self.findChild(QTreeView)
def __init__(self, root, filesMode=True, *args, **kwargs): QFileDialog.__init__(self, *args, **kwargs) self.root = root self.directoryEntered.connect(self.onDirectoryEntered) self.setOption(QFileDialog.DontUseNativeDialog) if filesMode: self.setFileMode(QFileDialog.ExistingFiles) else: self.setFileMode(QFileDialog.Directory) self.setDirectory(root)
def __init__(self, *args, **kwargs): QFileDialog.__init__(self, *args, **kwargs) self.selectedItems = {'#_folders': [], '#_files': []} self.setOption(self.DontUseNativeDialog, True) self.setFileMode(self.ExistingFiles) buttons = self.findChildren(QPushButton) self.openBtn = [x for x in buttons if 'open' in str(x.text()).lower()][0] self.openBtn.clicked.disconnect() self.openBtn.clicked.connect(self.openClicked) self.tree = self.findChild(QTreeView) self.fileSystem = FileSystem()
def __init__(self, **kwargs): self.widget = kwargs['widget'] QFileDialog.__init__(self, self.widget) self.setOption(self.DontUseNativeDialog, True) self.setFileMode(self.ExistingFiles) buttons = self.findChildren(QPushButton) self.openBtn = [x for x in buttons if 'open' in str(x.text()).lower()][0] self.openBtn.clicked.disconnect() self.openBtn.clicked.connect(self.open_clicked) self.tree = self.findChild(QTreeView) self.selected_files = '' self._last_dir = self._default_last_opened_dir()
def __init__(self, parent = None, message = '', caption = 'Open File', starting_directory = None): if starting_directory is None: import os starting_directory = os.getcwd() QFileDialog.__init__(self, parent, caption = caption, directory = starting_directory) self.setFileMode(QFileDialog.AnyFile) self.setOption(QFileDialog.DontUseNativeDialog) if message: layout = self.layout() row = layout.rowCount() from PyQt5.QtWidgets import QLabel label = QLabel(message, self) layout.addWidget(label, row, 0, 1, -1, Qt.AlignLeft)
def __init__(self, parent = None, caption = 'Open File', starting_directory = None, widget_alignment = Qt.AlignCenter, filter = ''): if starting_directory is None: import os starting_directory = os.getcwd() QFileDialog.__init__(self, parent, caption = caption, directory = starting_directory, filter = filter) self.setFileMode(QFileDialog.AnyFile) self.setOption(QFileDialog.DontUseNativeDialog) from PyQt5.QtWidgets import QWidget self.custom_area = QWidget() layout = self.layout() row = layout.rowCount() layout.addWidget(self.custom_area, row, 0, 1, -1, widget_alignment)
def __init__(self, *args): current_path = str((pathlib.Path(__file__) / ".." / "..").resolve()) current_message = 'Add folders for automated analysis' QFileDialog.__init__(self, caption=current_message, directory=current_path) self.setOption(self.DontUseNativeDialog, True) self.setFileMode(self.DirectoryOnly) for view in self.findChildren((QListView, QTreeView)): if isinstance(view.model(), QFileSystemModel): view.setSelectionMode(QAbstractItemView.ExtendedSelection) self.selection = self.selectedFiles() if (self.exec_()): self.selection = self.selectedFiles()
def __init__(self, parent=None): """ Constructor """ QFileDialog.__init__(self, parent) self.encodingComboBox = QtWidgets.QComboBox(self) self.encodingComboBox.setObjectName("encodingComboBox") self.encodingLabel = QtWidgets.QLabel("encoding", self) self.encodingLabel.setBuddy(self.encodingComboBox) self.layout().addWidget(self.encodingLabel) self.layout().addWidget(self.encodingComboBox) self.encodingComboBox.addItem(self.tr("autodetect")) for enc in parent.encodings: self.encodingComboBox.addItem(enc) self.encodingComboBox.setCurrentIndex(0)
def __init__(self): QFileDialog.__init__(self) self.file_path = None self.root_directory = QDir.homePath() self.setWindowTitle("Open File") self.setWindowIcon(QIcon(":/img/slice-icon.svg")) # options |= QFileDialog.DontUseNativeDialog file_path, _ = self.getOpenFileName( self, "Open File", self.root_directory, "All Files (*);;ttf Files(*.ttf);;otf Files (*.otf)", options=self.Options(), ) if file_path: self.file_path = file_path
def __init__(self, parent=None, caption=None, itemdir=None, filter=None, realm=None, charclass=None): # TODO: THIS THING (BUILT-IN-DIALOG) IS UUGGGLLYYY.. MAKE IT PRETTY.. # TODO: DIALOG DOES NOT OPEN ON CENTER OF MAIN WINDOW - FIX IT! QFileDialog.__init__(self, parent, caption, itemdir, filter) self.setAcceptMode(QFileDialog.AcceptOpen) self.setFileMode(QFileDialog.ExistingFile) self.setViewMode(QFileDialog.List) self.setOption(QFileDialog.DontUseNativeDialog) self.preview = ItemPreview(self, realm, charclass) self.currentChanged[str].connect(self.onCurrentChanged) self.finished[int].connect(self.finish) self.loadOptions()
def __init__(self, root_directory=None): QFileDialog.__init__(self) self.file_path = None self.root_directory = None self.setWindowTitle("Save File") self.setWindowIcon(QIcon(":/img/slice-icon.svg")) if root_directory: self.root_directory = root_directory else: self.root_directory = QDir.homePath() file_path, _ = self.getSaveFileName( self, "Save File", self.root_directory, "All Files (*);;ttf Files(*.ttf);;otf Files (*.otf)", options=self.Options(), ) if file_path: self.file_path = file_path
def __init__(self, *args, **kwargs): QFileDialog.__init__(self, *args, **kwargs) self.setOption(QFileDialog.DontUseNativeDialog, True) box = QVBoxLayout() self.setFixedSize(self.width() + 250, self.height()) self.mpPreview = QLabel("Preview", self) self.mpPreview.setFixedSize(250, 250) self.mpPreview.setAlignment(Qt.AlignCenter) self.mpPreview.setObjectName("labelPreview") box.addWidget(self.mpPreview) box.addStretch() self.layout().addLayout(box, 1, 3, 1, 1) self.currentChanged.connect(self.onChange) self.fileSelected.connect(self.onFileSelected) self.filesSelected.connect(self.onFilesSelected) self._fileSelected = None self._filesSelected = None
def __init__(self, caption=None, directory=None, filter=None, message=None, withImagePreview=True): QFileDialog.__init__(self, None, caption, directory, filter) self.setOption(QFileDialog.DontUseNativeDialog, True) self.setMaximumSize(0xffffff, 0xffffff) self.__box = QVBoxLayout() self.__withImagePreview = withImagePreview if self.__withImagePreview: self.__lblSize = QLabel(self) font = self.__lblSize.font() font.setPointSize(8) self.__lblSize.setFont(font) self.__lblSize.setAlignment(Qt.AlignCenter) self.__lblSize.setStyleSheet('font-style: italic') self.__lblPreview = QLabel(i18n("Preview"), self) self.__lblPreview.setAlignment(Qt.AlignCenter) self.__lblPreview.setMinimumSize(WEFileDialog.PREVIEW_WIDTH, 0) self.__box.addWidget(self.__lblPreview) offsetRow = 0 self.__teMessage = None self.__message = None if not (message is None or message == ''): offsetRow = 1 self.__message = message self.__teMessage = QTextEdit(self) self.__teMessage.setReadOnly(True) self.__teMessage.setSizePolicy( QSizePolicy(QSizePolicy.Preferred, QSizePolicy.MinimumExpanding)) self.__teMessage.setHtml(message) self.__msgBox = QVBoxLayout(self) self.__msgBox.addWidget(self.__teMessage) # the dirty way to reorganize layout... # in synthesis: QGridLayout doesn't allows to INSERT rows # solution: 1) take all items from layout (until there's no item in layout) # 2) append message # 3) append taken item in initial order, with row offset + 1 rows = {} itemIndex = 0 while self.layout().count(): # take all items position = self.layout().getItemPosition(itemIndex) if not position[0] in rows: rows[position[0]] = [] rows[position[0]].append( (itemIndex, position, self.layout().takeAt(itemIndex))) # append message self.layout().addLayout(self.__msgBox, 0, 0, 1, -1) # appends taken items for row in list(rows.keys()): for itemNfo in rows[row]: self.layout().addItem(itemNfo[2], itemNfo[1][0] + 1, itemNfo[1][1], itemNfo[1][2], itemNfo[1][3]) if self.__withImagePreview: self.layout().addWidget(self.__lblPreview, 1 + offsetRow, 3, Qt.AlignLeft) self.layout().addWidget(self.__lblSize, 2 + offsetRow, 3, Qt.AlignCenter) self.currentChanged.connect(self.__changed) self.fileSelected.connect(self.__fileSelected) self.filesSelected.connect(self.__filesSelected) self.__fileSelected = '' self.__filesSelected = []
def __init__(self, parent, title: str): QFileDialog.__init__(self, parent) self.setWindowIcon(QIcon(':/ico/app.ico')) self.setViewMode(QFileDialog.Detail) self.setWindowTitle(title)
def __init__(self, default='', extension='*.jpg'): QFileDialog.__init__(self) self.fname = self.getSaveFileName(self, '', QDir.homePath() + "/" + default, extension)