def open(self): if self.maybeSave(): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: self.scribbleArea.openImage(fileName) self.resize(self.scribbleArea.image.size())
def __init__(self, parent): QMainWindow.__init__(self) self.printer = QPrinter() self.load_img = self.load_img_fit self.reload_img = self.reload_auto self.open_new = parent.open_win self.exit = parent.closeAllWindows self.scene = QGraphicsScene() self.img_view = ImageView(self) self.img_view.setScene(self.scene) self.setCentralWidget(self.img_view) self.create_actions() self.create_menu() self.create_dict() self.slides_next = True self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.showMenu) self.read_prefs() self.read_list = parent.read_list self.write_list = parent.write_list self.pics_dir = os.path.expanduser('~/Pictures') or QDir.currentPath() self.resize(700, 500)
def onMapsDirectoryChanged(self): prefs = preferences.Preferences.instance() mapsDir = QDir(prefs.mapsDirectory()) if (not mapsDir.exists()): mapsDir.setPath(QDir.currentPath()) self.model().setRootPath(mapsDir.canonicalPath()) self.setRootIndex(self.model().index(mapsDir.absolutePath()))
def on_mainscriptButton_clicked(self): """ Private slot to display a file selection dialog. """ dir = self.dirEdit.text() if not dir: dir = QDir.currentPath() patterns = [] for pattern, filetype in list(self.project.pdata["FILETYPES"].items()): if filetype == "SOURCES": patterns.append(pattern) filters = self.tr("Source Files ({0});;All Files (*)")\ .format(" ".join(patterns)) fn = E5FileDialog.getOpenFileName( self, self.tr("Select main script file"), dir, filters) if fn: ppath = self.dirEdit.text() if ppath: ppath = QDir(ppath).absolutePath() + QDir.separator() fn = fn.replace(ppath, "") self.mainscriptEdit.setText(Utilities.toNativeSeparators(fn))
def open(self): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: image = QImage(fileName) if image.isNull(): QMessageBox.information(self, "Image Viewer", "Cannot load %s." % fileName) return # myPixmap = QPixmap.fromImage(image) qpix = QPixmap.fromImage(image) self.image_obj = qpix self.flag = 1 print(self.height/qpix.size().height()) # self.scaleImage(0.8) self.imageLabel.setPixmap(qpix) self.scaleFactor = 1.0 self.printAct.setEnabled(True) self.fitToWindowAct.setEnabled(True) self.updateActions() if not self.fitToWindowAct.isChecked(): self.imageLabel.adjustSize() self.change_image_size()
def saveScreenshot(self): format = 'png' initialPath = QDir.currentPath() + "/untitled." + format fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath, "%s Files (*.%s);;All Files (*)" % (format.upper(), format)) if fileName: self.originalPixmap.save(fileName, format)
def open_file_dialog(self): filename, _ = QFileDialog.getOpenFileName( self, "Open file", QDir.currentPath() if self.project_manager.project_dir is None else os.path.join( self.project_manager.project_dir, 'src'), self.FILES_FILTER ) self.open_file(filename)
def browse(self): directory = QFileDialog.getExistingDirectory(self, "Find Files", QDir.currentPath()) if directory: if self.directoryComboBox.findText(directory) == -1: self.directoryComboBox.addItem(directory) self.directoryComboBox.setCurrentIndex(self.directoryComboBox.findText(directory))
def startPendingConversion(self): self.previewOutdated = False requested_extensions = ['ReText.mdx_posmap'] if globalSettings.syncScroll else [] self.converterProcess.start_conversion(self.getActiveMarkupClass().name, self.fileName, requested_extensions, self.editBox.toPlainText(), QDir.currentPath())
def openScreenshot(self): format = "png" initialPath = QDir.currentPath() + "/" fileName, _ = QFileDialog.getOpenFileName(self, "Open Image", initialPath, "%s Files (*.%s);;All Files (*)" % (format.upper(), format)) image = QImage(fileName, format) self.screenPixmap = QPixmap.fromImage(image) self.updateScreenshotHolder() self.editScreenshot()
def getSaveFileName(parent=None, dir=None, filter=None, caption=None): if (dir == None): dir = QDir.currentPath() if (filter == None): filter = 'File (*)' filename = QFileDialog.getSaveFileName(parent, caption, dir, filter) if (filename == ('', '')): # two null strings for cancel return None return filename[0]
def on_mainscriptPicker_aboutToShowPathPickerDialog(self): """ Private slot to perform actions before the main script selection dialog is shown. """ path = self.dirPicker.text() if not path: path = QDir.currentPath() self.mainscriptPicker.setDefaultDirectory(path)
def saveFile(self, fileFormat): initialPath = QDir.currentPath() + '/untitled.' + fileFormat fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath, "%s Files (*.%s);;All Files (*)" % (fileFormat.upper(), fileFormat)) if fileName: return self.scribbleArea.saveImage(fileName, fileFormat) return False
def _handle_save(self): if self._save_buffer is None: return filename, filter = QFileDialog.getSaveFileName(self, "Save binary...", QDir.currentPath(), "Binary files (*.bin)") if not filename: return with open(filename, "wb") as f: f.write(self._save_buffer)
def openFile(self): supportedExtensions = ['.txt'] for markup in markups.get_all_markups(): supportedExtensions += markup.file_extensions fileFilter = ' (' + str.join(' ', ['*'+ext for ext in supportedExtensions]) + ');;' fileNames = QFileDialog.getOpenFileNames(self, self.tr("Select one or several files to open"), QDir.currentPath(), self.tr("Supported files") + fileFilter + self.tr("All files (*)")) for fileName in fileNames[0]: self.openFileWrapper(fileName)
def select_new_dir(self): self.hyperlpr_dir_path = QFileDialog.getExistingDirectory( self, "读取文件夹", QDir.currentPath()) if len(self.hyperlpr_dir_path) > 0: hyperlpr_dir_info_filepath = QDir.homePath() + "/hyperlpr_dir_file" with open(hyperlpr_dir_info_filepath, 'w') as f: f.write(self.hyperlpr_dir_path) self.reset_info_gui()
def save_screenshot(self): if self.done: filename = QFileDialog.getSaveFileName(self, "Save As", QDir.currentPath(), "PNG Files (*.png)") if filename: self.pixmap.save(filename[0], "png") self.imagePreviewer.hide() else: take_screenshot() save_screenshot() self.done = False
def browseNetwork2File(self): fileNetwork2Path = QFileDialog.getOpenFileName( self, _('Network 2 CSV File'), QDir.currentPath(), 'Comma-separated values (*.csv)') if fileNetwork2Path: if self.network2PathComboBox.findText(fileNetwork2Path[0]) == -1: self.network2PathComboBox.addItem(fileNetwork2Path[0]) self.network2PathComboBox.setCurrentIndex( self.network2PathComboBox.findText(fileNetwork2Path[0]))
def browseList2File(self): list2FilePath = QFileDialog.getOpenFileName( self, _('Sample user list 2 CSV File'), QDir.currentPath(), 'Comma-separated values (*.csv)') if list2FilePath: if self.sampleUser2PathComboBox.findText(list2FilePath[0]) == -1: self.sampleUser2PathComboBox.addItem(list2FilePath[0]) self.sampleUser2PathComboBox.setCurrentIndex( self.sampleUser2PathComboBox.findText(list2FilePath[0]))
def browseTrueMapFile(self): trueMapFilePath = QFileDialog.getOpenFileName( self, _('True mapping CSV File'), QDir.currentPath(), 'Comma-separated values (*.csv)') if trueMapFilePath: if self.trueMapPathComboBox.findText(trueMapFilePath[0]) == -1: self.trueMapPathComboBox.addItem(trueMapFilePath[0]) self.trueMapPathComboBox.setCurrentIndex( self.trueMapPathComboBox.findText(trueMapFilePath[0]))
def __init__(self, parent=None): super(Window, self).__init__(parent) inputButton = self.createButton("&Select input folder", self.browseForInput) inputLabel = QLabel("Input path: ") self.inputPath = QLabel(QDir.currentPath()) self.inputStats = QLabel("") self.inputFiles = [] self.sampleImage = SampleImageWidget(self) outputButton = self.createButton("&Select output folder", self.browseForOutput) outputLabel = QLabel("Output path:") self.outputPath = QLabel(QDir.currentPath()) startButton = self.createButton("&Start processing", self.process) quitButton = self.createButton("&Exit", self.quit) mainLayout = QGridLayout() mainLayout.addWidget(inputButton, 0, 0) mainLayout.addWidget(inputLabel, 0, 1) mainLayout.addWidget(self.inputPath, 0, 2) mainLayout.addWidget(self.inputStats, 1, 0) mainLayout.addWidget(self.sampleImage, 1, 1) mainLayout.addWidget(outputButton, 2, 0) mainLayout.addWidget(outputLabel, 2, 1) mainLayout.addWidget(self.outputPath, 2, 2) buttonsLayout = QHBoxLayout() buttonsLayout.addStretch() buttonsLayout.addWidget(startButton) buttonsLayout.addWidget(quitButton) mainLayout.addLayout(buttonsLayout, 3, 0) self.setLayout(mainLayout) self.setWindowTitle("Find Files") self.resize(700, 300)
def browseForInput(self): directory = QFileDialog.getExistingDirectory(self, "Select input folder", QDir.currentPath()) #count the number of JPG and TIFF files countsPerExtension = {} for root, dirs, files in os.walk(directory): for f in files: #TODO more per-file auditing here? if f.lower().endswith("jpg") or f.lower().endswith("jpeg"): if "JPG" not in countsPerExtension: countsPerExtension["JPG"] = 0 countsPerExtension["JPG"] += 1 self.inputFiles.append(os.path.join(root, f).encode('ascii','replace')) elif f.lower().endswith("tiff"): if "TIFF" not in countsPerExtension: countsPerExtension["TIFF"] = 0 countsPerExtension["TIFF"] += 1 self.inputFiles.append(os.path.join(root, f).encode('ascii','replace')) #do not descend recursively break if len(self.inputFiles)==0: return stats = [] for extension in countsPerExtension: stats.append(extension + ": " + str(countsPerExtension[extension]) + " files") #generate the average image from all the input files self.average_filename = 'tmp_average.jpg' print "generating average image", self.average_filename print "python make_average.py " + self.average_filename + " " + ' '.join(self.inputFiles).encode('ascii', 'replace') os.system("python make_average.py " + self.average_filename + " " + ' '.join(self.inputFiles).encode('ascii', 'replace')) #make_average(self.average_filename, self.inputFiles) counter = 60 while not os.path.exists(self.average_filename) and counter > 0: counter -= 1 print ".", time.sleep(1) print "done" #load and display the average image self.sampleImage.setSampleImage(self.average_filename) #also display statistics self.inputStats.setText(",".join(stats)) #and show the input directory path to the user self.inputPath.setText(directory)
def saveChanges(self): reply = QMessageBox.question(self, 'Message', 'Are you sure you save?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: image = self.imageHolder.saveChanges() format = 'png' initialPath = QDir.currentPath() + "/untitled." + format fileName, _ = QFileDialog.getSaveFileName(self, "Save As", initialPath, "%s Files (*.%s);;All Files (*)" % (format.upper(), format)) if fileName: image.save(fileName) self.screenPixmap = QPixmap.fromImage(image) self.parent.screenshotHolder.setPixmap(QPixmap.fromImage(image).scaled( self.parent.screenshotHolder.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation )) self.close()
def httpFinished(self): if self.httpRequestAborted: if self.outFile is not None: self.outFile.close() self.outFile.remove() self.outFile = None self.reply.deleteLater() self.reply = None self.progressDialog.hide() return self.progressDialog.hide() self.outFile.flush() self.outFile.close() redirectionTarget = self.reply.attribute(QNetworkRequest.RedirectionTargetAttribute) if self.reply.error(): self.outFile.remove() QMessageBox.information(self, "HTTP", "Download failed: %s." % self.reply.errorString()) self.downloadButton.setEnabled(True) elif redirectionTarget is not None: newUrl = self.url.resolved(redirectionTarget) ret = QMessageBox.question(self, "HTTP", "Redirect to %s?" % newUrl.toString(), QMessageBox.Yes | QMessageBox.No) if ret == QMessageBox.Yes: self.url = newUrl self.reply.deleteLater() self.reply = None self.outFile.open(QIODevice.WriteOnly) self.outFile.resize(0) self.startRequest(self.url) return else: fileName = QFileInfo(QUrl(self.urlLineEdit.text()).path()).fileName() self.statusLabel.setText("Downloaded %s to %s." % (fileName, QDir.currentPath())) self.downloadButton.setEnabled(True) self.reply.deleteLater() self.reply = None self.outFile = None
def _open_save_dialog(self): idx = self.main_tabs.currentIndex() if not self.is_editor_modified(): return filename, _ = QFileDialog.getSaveFileName( self, "Save file", QDir.currentPath() if self.project_manager.project_dir is None else os.path.join( self.project_manager.project_dir, 'src'), FILES_FILTER ) if len(filename) == 0: return self.save_as(filename)
def _setupWebview(self): settings = self.settings() currentPath = QDir.currentPath() settings.setAttribute(QWebSettings.LocalStorageEnabled, True) settings.setAttribute(QWebSettings.OfflineStorageDatabaseEnabled, True) settings.setAttribute(QWebSettings.OfflineWebApplicationCacheEnabled, True) settings.setAttribute(QWebSettings.DnsPrefetchEnabled, True) settings.setAttribute(QWebSettings.CSSGridLayoutEnabled, True) settings.setAttribute(QWebSettings.JavascriptCanOpenWindows, True) settings.setAttribute(QWebSettings.JavascriptCanCloseWindows, True) settings.setAttribute(QWebSettings.JavascriptCanAccessClipboard, True) settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True) settings.setOfflineStoragePath(currentPath + "/storage/offline") settings.setOfflineWebApplicationCachePath(currentPath + "/storage/webcache") settings.setLocalStoragePath(currentPath + "/storage/local") settings.setOfflineStorageDefaultQuota(5 * 1024 * 1024) settings.setOfflineWebApplicationCacheQuota(5 * 1024 * 1024) settings.enablePersistentStorage() """ F12키를 누르면 "개발자 도구"가 노출됨 """ # webinspector self.webInspector = QWebInspector(self) self.webInspector.setPage(self.page()) #Keyboard shortcuts shortcut = {} shortcut['F4'] = QShortcut(self) shortcut['F4'].setContext(Qt.ApplicationShortcut) shortcut['F4'].setKey(Qt.Key_F4) shortcut['F4'].activated.connect(self._toggleInspector) #F5 - Page reloading shortcut['F5'] = QShortcut(self) shortcut['F5'].setKey(Qt.Key_F5) shortcut['F5'].activated.connect(self.reload) # Devtools self.webInspector.setVisible(True) self.devTool = QDialog(self) self.devTool.setWindowTitle("Development Tool") self.devTool.resize(950, 400) layout = QGridLayout() layout.setContentsMargins(0,0,0,0) layout.addWidget(self.webInspector) self.devTool.setLayout(layout)
def open(self): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: image = QImage(fileName) if image.isNull(): QMessageBox.information(self, "Image Viewer", "Cannot load %s." % fileName) return self.imageLabel.setPixmap(QPixmap.fromImage(image)) self.scaleFactor = 1.0 self.printAct.setEnabled(True) self.fitToWindowAct.setEnabled(True) self.updateActions() if not self.fitToWindowAct.isChecked(): self.imageLabel.adjustSize()
def __init__(self, mainWindow, parent = None): super().__init__(parent) self.mMainWindow = mainWindow self.setRootIsDecorated(False) self.setHeaderHidden(True) self.setItemsExpandable(False) self.setUniformRowHeights(True) self.setDragEnabled(True) self.setDefaultDropAction(Qt.MoveAction) prefs = preferences.Preferences.instance() prefs.mapsDirectoryChanged.connect(self.onMapsDirectoryChanged) mapsDir = QDir(prefs.mapsDirectory()) if (not mapsDir.exists()): mapsDir.setPath(QDir.currentPath()) self.mFSModel = FileSystemModel(self) self.mFSModel.setRootPath(mapsDir.absolutePath()) nameFilters = QStringList("*.tmx") # The file system model name filters are plain, whereas the plugins expose # a filter as part of the file description filterFinder = QRegExp("\\((\\*\\.[^\\)\\s]*)") for format in PluginManager.objects(MapFormat): if not (format.capabilities() & MapFormat.Read): continue filter = format.nameFilter() if (filterFinder.indexIn(filter) != -1): nameFilters.append(filterFinder.cap(1)) self.mFSModel.setFilter(QDir.AllDirs | QDir.Files | QDir.NoDot) self.mFSModel.setNameFilters(nameFilters) self.mFSModel.setNameFilterDisables(False) # hide filtered files self.setModel(self.mFSModel) headerView = self.header() headerView.hideSection(1) # Size column headerView.hideSection(2) headerView.hideSection(3) self.setRootIndex(self.mFSModel.index(mapsDir.absolutePath())) self.header().setStretchLastSection(False) self.header().setSectionResizeMode(0, QHeaderView.Stretch) self.activated.connect(self.onActivated) self.mMainWindow = None self.mFSModel = None
def __init__ (self): super(LocalPathView, self).__init__() self._model = QFileSystemModel() self._model.setFilter(QDir.Dirs | QDir.Drives | QDir.NoDotAndDotDot | QDir.AllDirs) self._model.setRootPath('') self.setModel(self._model ) self.hideColumn(1); # removing Size Column self.hideColumn(2); # removing Type Column self.setAnimated(False) self.setSortingEnabled(True) self.header().setSortIndicator(0, Qt.AscendingOrder) width = self.size().width() >> 1 self.setColumnWidth(0, width*0.7) self.setColumnWidth(1, width*0.3) index = self._model.index(QDir.currentPath()) self.selectionModel().setCurrentIndex(index, QItemSelectionModel.Select | QItemSelectionModel.Rows) self.expand(index) self.scrollTo(index)
def open_directory(dialog, data_type): directory = QFileDialog.getExistingDirectory(parent, directory = QDir.currentPath()) set_filename_and_close_dialog(directory, dialog, data_type)
def __init__(self, filenames=[], parent=None, name=None): """ Constructor @param filenames filenames of form and/or translation files to load @param parent parent widget of this window (QWidget) @param name name of this window (string) """ self.mainWidget = None self.currentFile = QDir.currentPath() super(TRPreviewer, self).__init__(parent) if not name: self.setObjectName("TRPreviewer") else: self.setObjectName(name) self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet")) self.resize(QSize(800, 600).expandedTo(self.minimumSizeHint())) self.statusBar() self.setWindowIcon(UI.PixmapCache.getIcon("pymakr.png")) self.setWindowTitle(self.tr("Translations Previewer")) self.cw = QWidget(self) self.cw.setObjectName("qt_central_widget") self.TRPreviewerLayout = QVBoxLayout(self.cw) self.TRPreviewerLayout.setContentsMargins(6, 6, 6, 6) self.TRPreviewerLayout.setSpacing(6) self.TRPreviewerLayout.setObjectName("TRPreviewerLayout") self.languageLayout = QHBoxLayout() self.languageLayout.setContentsMargins(0, 0, 0, 0) self.languageLayout.setSpacing(6) self.languageLayout.setObjectName("languageLayout") self.languageLabel = QLabel(self.tr("Select language file"), self.cw) self.languageLabel.setObjectName("languageLabel") self.languageLayout.addWidget(self.languageLabel) self.languageCombo = QComboBox(self.cw) self.languageCombo.setObjectName("languageCombo") self.languageCombo.setEditable(False) self.languageCombo.setToolTip(self.tr("Select language file")) self.languageCombo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) self.languageLayout.addWidget(self.languageCombo) languageSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.languageLayout.addItem(languageSpacer) self.TRPreviewerLayout.addLayout(self.languageLayout) self.preview = WidgetArea(self.cw) self.preview.setObjectName("preview") self.TRPreviewerLayout.addWidget(self.preview) self.preview.lastWidgetClosed.connect(self.__updateActions) self.setCentralWidget(self.cw) self.languageCombo.activated[str].connect(self.setTranslation) self.translations = TranslationsDict(self.languageCombo, self) self.translations.translationChanged.connect( self.preview.rebuildWidgets) self.__initActions() self.__initMenus() self.__initToolbars() self.__updateActions() # fire up the single application server from .TRSingleApplication import TRSingleApplicationServer self.SAServer = TRSingleApplicationServer(self) self.SAServer.loadForm.connect(self.preview.loadWidget) self.SAServer.loadTranslation.connect(self.translations.add) # defere loading of a UI file until we are shown self.filesToLoad = filenames[:]
else: QApplication.setStyle(QStyleFactory.create("Windows")) else: QApplication.setStyle(QStyleFactory.create("Windows")) app.setApplicationDisplayName("MQTT Observer") app.setApplicationName("MQTT Observer") app.setOrganizationDomain("xcape.io") app.setOrganizationName("xcape.io") if platform.system() == 'Windows': app.setAttribute(Qt.AA_EnableHighDpiScaling) # for 4K display translator = QTranslator() if args['french']: if translator.load(":/Observer.fr_FR.qm", QDir.currentPath()): app.installTranslator(translator) clientid = "Observer/" + QUuid.createUuid().toString() logger.debug("MQTT clientid %s", clientid) mqtt_client = mqtt.Client(clientid, clean_session=True, userdata=None) dlg = ObserverWindow(mqtt_client, logger) dlg.show() mqtt_client.loop_start() rc = app.exec_() try:
def tree_clicked(self, idx): print(self.dirmodel.fileName(idx)) self.rightframe.set_tileset(QDir.currentPath() + '/mapeditor/' + self.dirmodel.filePath(idx))
def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) pasteBox = QHBoxLayout() self.textLine = QLineEdit() self.textLine.setToolTip('Current Director/selected File') self.pasteButton = QToolButton() self.pasteButton.setEnabled(False) self.pasteButton.setText('Paste') self.pasteButton.setToolTip( 'Copy file from copy path to current directory/file') self.pasteButton.clicked.connect(self.paste) self.pasteButton.hide() pasteBox.addWidget(self.textLine) pasteBox.addWidget(self.pasteButton) self.copyBox = QFrame() hbox = QHBoxLayout() hbox.setContentsMargins(0, 0, 0, 0) self.copyLine = QLineEdit() self.copyLine.setToolTip('File path to copy from, when pasting') self.copyButton = QToolButton() self.copyButton.setText('Copy') self.copyButton.setToolTip('Record current file as copy path') self.copyButton.clicked.connect(self.recordCopyPath) hbox.addWidget(self.copyButton) hbox.addWidget(self.copyLine) self.copyBox.setLayout(hbox) self.copyBox.hide() self.model = QFileSystemModel() self.model.setRootPath(QDir.currentPath()) self.model.setFilter(QDir.AllDirs | QDir.NoDot | QDir.Files) self.model.setNameFilterDisables(False) self.model.rootPathChanged.connect(self.folderChanged) self.list = QListView() self.list.setModel(self.model) self.updateDirectoryView(self.media_path) self.list.resize(640, 480) self.list.clicked[QModelIndex].connect(self.listClicked) self.list.activated.connect(self._getPathActivated) self.list.setAlternatingRowColors(True) self.cb = QComboBox() self.cb.currentIndexChanged.connect(self.filterChanged) self.fillCombobox(INFO.PROGRAM_FILTERS_EXTENSIONS) self.cb.setMinimumHeight(30) self.cb.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button2 = QToolButton() self.button2.setText('Media') self.button2.setSizePolicy( QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button2.setMinimumSize(60, 30) self.button2.setToolTip('Jump to Media directory') self.button2.clicked.connect(self.onJumpClicked) SettingMenu = QMenu(self) self.settingMenu = SettingMenu for i in ('Media', 'User'): axisButton = QAction(QIcon.fromTheme('user-home'), i, self) # weird lambda i=i to work around 'function closure' axisButton.triggered.connect( lambda state, i=i: self.jumpTriggered(i)) SettingMenu.addAction(axisButton) self.button2.setMenu(SettingMenu) self.button3 = QToolButton() self.button3.setText('Add Jump') self.button3.setSizePolicy( QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button3.setMinimumSize(60, 30) self.button3.setToolTip('Add current directory to jump button list') self.button3.clicked.connect(self.onActionClicked) hbox = QHBoxLayout() hbox.addWidget(self.button2) hbox.addWidget(self.button3) hbox.insertStretch(2, stretch=0) hbox.addWidget(self.cb) windowLayout = QVBoxLayout() windowLayout.addLayout(pasteBox) windowLayout.addWidget(self.copyBox) windowLayout.addWidget(self.list) windowLayout.addLayout(hbox) self.setLayout(windowLayout) self.show()
def open(self): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: self.check_valid_path(fileName)
def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) pasteBox = QHBoxLayout() self.textLine = QLineEdit() self.textLine.setToolTip('Current Director/selected File') self.pasteButton = QToolButton() self.pasteButton.setEnabled(False) self.pasteButton.setText('Paste') self.pasteButton.setToolTip( 'Copy file from copy path to current directory/file') self.pasteButton.clicked.connect(self.paste) self.pasteButton.hide() pasteBox.addWidget(self.textLine) pasteBox.addWidget(self.pasteButton) self.copyBox = QFrame() hbox = QHBoxLayout() hbox.setContentsMargins(0, 0, 0, 0) self.copyLine = QLineEdit() self.copyLine.setToolTip('File path to copy from, when pasting') self.copyButton = QToolButton() self.copyButton.setText('Copy') self.copyButton.setToolTip('Record current file as copy path') self.copyButton.clicked.connect(self.recordCopyPath) hbox.addWidget(self.copyButton) hbox.addWidget(self.copyLine) self.copyBox.setLayout(hbox) self.copyBox.hide() self.model = QFileSystemModel() self.model.setRootPath(QDir.currentPath()) self.model.setFilter(QDir.AllDirs | QDir.NoDot | QDir.Files) self.model.setNameFilterDisables(False) self.model.rootPathChanged.connect(self.folderChanged) self.list = QListView() self.list.setModel(self.model) self.list.resize(640, 480) self.list.clicked[QModelIndex].connect(self.listClicked) self.list.activated.connect(self._getPathActivated) self.list.setAlternatingRowColors(True) self.list.hide() self.table = QTableView() self.table.setModel(self.model) self.table.resize(640, 480) self.table.clicked[QModelIndex].connect(self.listClicked) self.table.activated.connect(self._getPathActivated) self.table.setAlternatingRowColors(True) header = self.table.horizontalHeader() header.setSectionResizeMode(0, QHeaderView.Stretch) header.setSectionResizeMode(1, QHeaderView.ResizeToContents) header.setSectionResizeMode(3, QHeaderView.ResizeToContents) header.swapSections(1, 3) header.setSortIndicator(1, Qt.AscendingOrder) self.table.setSortingEnabled(True) self.table.setColumnHidden(2, True) # type self.table.verticalHeader().setVisible(False) # row count header self.cb = QComboBox() self.cb.currentIndexChanged.connect(self.filterChanged) self.fillCombobox(INFO.PROGRAM_FILTERS_EXTENSIONS) self.cb.setMinimumHeight(30) self.cb.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button2 = QToolButton() self.button2.setText('User') self.button2.setSizePolicy( QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button2.setMinimumSize(60, 30) self.button2.setToolTip( 'Jump to User directory.\nLong press for Options.') self.button2.clicked.connect(self.onJumpClicked) self.button3 = QToolButton() self.button3.setText('Add Jump') self.button3.setSizePolicy( QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.button3.setMinimumSize(60, 30) self.button3.setToolTip('Add current directory to jump button list') self.button3.clicked.connect(self.onActionClicked) self.settingMenu = QMenu(self) self.button2.setMenu(self.settingMenu) hbox = QHBoxLayout() hbox.addWidget(self.button2) hbox.addWidget(self.button3) hbox.insertStretch(2, stretch=0) hbox.addWidget(self.cb) windowLayout = QVBoxLayout() windowLayout.addLayout(pasteBox) windowLayout.addWidget(self.copyBox) windowLayout.addWidget(self.list) windowLayout.addWidget(self.table) windowLayout.addLayout(hbox) self.setLayout(windowLayout) self.show()
def br1_clicked(self): print("clicked browe1 button") fileName, _ = QFileDialog.getOpenFileName(self, 'Single File', QDir.currentPath(), '*.xml') self.le_tr.setText(fileName)
def __init__(self, argv, client, debugging_mqtt=False): super().__init__(argv, client, debugging_mqtt) settings = QSettings("settings.ini", QSettings.IniFormat) settings.setIniCodec("UTF-8") settings.beginGroup("MQTT") parser = argparse.ArgumentParser() parser.add_argument("-s", "--server", help="change MQTT server host", nargs=1) parser.add_argument("-p", "--port", help="change MQTT server port", nargs=1, type=int) parser.add_argument("-d", "--debug", help="set DEBUG log level", action='store_true') parser.add_argument("-l", "--logger", help="use logging config file", nargs=1) parser.add_argument("-f", "--french", help="run in French", action='store_true') args = vars(parser.parse_args()) if args['server']: self._mqttServerHost = args['server'][0] settings.setValue('host', self._mqttServerHost) if args['port']: self._mqttServerPort = args['port'][0] settings.setValue('port', self._mqttServerPort) if args['logger'] and os.path.isfile(args['logger']): logging.config.fileConfig(args['logger']) if args['debug']: self._logger = logging.getLogger('debug') self._logger.setLevel(logging.DEBUG) else: self._logger = logging.getLogger('production') self._logger.setLevel(logging.INFO) elif os.path.isfile('logging.ini'): logging.config.fileConfig('logging.ini') if args['debug']: self._logger = logging.getLogger('debug') self._logger.setLevel(logging.DEBUG) else: self._logger = logging.getLogger('production') self._logger.setLevel(logging.INFO) else: if args['debug']: self._logger = logging.getLogger('debug') self._logger.setLevel(logging.DEBUG) else: self._logger = logging.getLogger('production') self._logger.setLevel(logging.INFO) ch = logging.FileHandler('plugin.log', 'w') ch.setLevel(logging.INFO) self._logger.addHandler(ch) self.translator = QTranslator() if args['french']: try: if self.translator.load(TRANSLATOR_FR, QDir.currentPath()): self.installTranslator(self.translator) except: pass self.setApplicationDisplayName(APPDISPLAYNAME) # on_message per topic callbacks try: mqtt_sub_props = self._definitions['mqtt-sub-props'] self._mqttClient.message_callback_add(mqtt_sub_props, self.mqttOnMessageFromProps) except Exception as e: self._logger.error( self.tr("Plugin sub topic definition is missing")) self._logger.debug(e) # on_message default callback self._mqttClient.on_message = self.mqttOnMessage self._PluginDialog = PluginDialog(self.tr("Echo"), './room.png', self._logger) self._PluginDialog.setPropsInboxTopic( self._definitions['mqtt-pub-props']) self._PluginDialog.setRoomAdminTopic( self._definitions['mqtt-sub-control-administrator']) self._PluginDialog.aboutToClose.connect(self.exitOnClose) self._PluginDialog.publishMessage.connect(self.publishMessage) self.propsMessageReceived.connect(self._PluginDialog.onPropsMessage) self.messageReceived.connect(self._PluginDialog.onMessage) self._PluginDialog.show()
def __init__(self, parent=None, flags=Qt.WindowFlags()): super().__init__(parent=parent, flags=flags) self.path = QDir.currentPath() + '/mapeditor/Tilesets/002-Woods01.png' self.pix = QPixmap(self.path)
def slot_actSetFilePath(self): diaLogFile = QFileDialog(self) initialPath = QDir.currentPath() # 当前文件夹路径,应该写ini配置文件让它读取记录,自己用json文件代替了 newPath = diaLogFile.getExistingDirectory(self, "选取文件夹", initialPath) self.lineEdFilePath.setText(newPath) self.setFocus()
import sys from PyQt5.QtWidgets import QApplication, QSplitter, QFileSystemModel, QTreeView, QListView from PyQt5.QtCore import QDir if __name__ == '__main__': app = QApplication(sys.argv) splitter = QSplitter() model = QFileSystemModel() model.setRootPath(QDir.currentPath()) tree = QTreeView(splitter) tree.setModel(model) tree.setRootIndex(model.index(QDir.currentPath())) list = QListView(splitter) list.setModel(model) list.setRootIndex(model.index(QDir.currentPath())) splitter.setWindowTitle("Two views onto the same file system model") splitter.show() app.exec()
def changePath(self): self.filename, _ = QFileDialog.getOpenFileName(self, "打开文件", QDir.currentPath(), "Source (*.txt )") self.pathLineEdit.setText(self.filename) print(self.filename)
def open(self): if self.maybeSave(): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: self.scribbleArea.openImage(fileName)
def show_save_file_dialog(label, name_filter, init_dir=None): return QFileDialog.getSaveFileName(caption=label, directory=init_dir if init_dir is not None else QDir.currentPath(), filter=name_filter)[0]
def _openImageFile(self): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: self.painter.openImage(fileName) self.logList.addMessage("Изображение загружено", MessageType.INFO)
def saveFile(self): path = QDir.currentPath() fileName, _ = QFileDialog.getSaveFileName(self, "Save as", path) if fileName: return self.canvas.saveImage(fileName) return False
def __init__(self, appDir=None): QObject.__init__(self) self.appDir = QDir.currentPath() if appDir is None else appDir self.histogramService = histogramService.HistogramService(self.appDir) self.imageService = imageService.ImageService(self.appDir)
def open_folder(self, folder_path=None): self.voting_dict = {} self.photo_picker_dict = {} if not os.path.exists(str(folder_path)): folder_path = None if folder_path is None: self.folder_path = QFileDialog.getExistingDirectory( self, "Open Folder", QDir.currentPath()) else: self.folder_path = folder_path if self.folder_path == "": return for root, dir, files in os.walk(self.folder_path): for file in files: wf = WhittleFile(os.path.join(root, file)) if {wf.file_extension}.issubset(VALID_EXTENSIONS): if self.voting_dict.get(wf.file_name) is None: self.voting_dict[wf.file_name] = {wf} else: self.voting_dict[wf.file_name].add(wf) if not self.voting_dict: ErrorDialog( error="Unable to open folder", error_reason= "Unable to locate any valid photo files at folder path. " "Please select a new folder to begin Whittling.", extra_info=f'Folder path: "{self.folder_path}".').exec_() return # filter out file_names that don't have a JPG whittle file as we want to load those into # memory self.voting_dict = { file_name: wf_set for file_name, wf_set in self.voting_dict.items() if any([wf.file_extension == JPG_EXTENSION for wf in wf_set]) } if not self.voting_dict: ErrorDialog( error="Unable to open folder", error_reason= "Unable to locate any valid JPG files at folder path. " "Please select a new folder to begin Whittling.", extra_info=f'Folder path: "{self.folder_path}".').exec_() return # before we create new thumbnails, delete any that exit in cwd self._clean_up_temp() file_names = list(self.voting_dict.keys()) thumbnail_save_info = [] for file_name in file_names: wf = next(wf for wf in self.voting_dict[file_name] if wf.file_extension == JPG_EXTENSION) thumbnail_save_info.append([ wf.file_path, self._get_width(THUMBNAIL_WIDTH), self._get_height(THUMBNAIL_HEIGHT) ]) with ThreadPoolExecutor() as tpe: results = tpe.map(save_image_as_thumbnail, thumbnail_save_info) photo_file_paths = list(results) photo_file_paths.sort() self._clear_programmatically_populated_layouts() self._populate_photo_picker(photo_file_paths) full_res = self._get_full_res_photo_path(photo_file_paths[0]) self._set_main_photo(full_res) self._set_stats()
def load_example_file_system(self): treeView = self.findChild(QTreeView, "treeView") model = QFileSystemModel() model.setRootPath(QDir.currentPath()) treeView.setModel(model)
def organize_folder(self, folder_path=None): if folder_path is None: organize_folder = QFileDialog.getExistingDirectory( self, "Open Folder", QDir.currentPath()) if organize_folder == "": return else: organize_folder = folder_path organize_dict = {} for file in os.listdir(organize_folder): wf = WhittleFile(os.path.join(organize_folder, file)) if {wf.file_extension}.issubset(VALID_EXTENSIONS): if organize_dict.get(wf.file_name) is None: organize_dict[wf.file_name] = {wf} else: organize_dict[wf.file_name].add(wf) if not organize_dict: ErrorDialog( error="Unable to organize folder", error_reason= "Unable to locate any photo files with valid file extension types.", extra_info=f'Supported extension types: "{*VALID_EXTENSIONS,}".' ).exec_() return organize_dict = { file_name: wf_set for file_name, wf_set in organize_dict.items() if len(wf_set) == 2 } if not organize_dict: ErrorDialog( error="Unable to organize folder", error_reason= "Folder to organize did not contain any files where there were 2 file " "types per unique photo.", ).exec_() return file_extensions = [] for file_name, wf_set in organize_dict.items(): for wf in wf_set: file_extensions.append(wf.file_extension) file_extensions = set(file_extensions) if len(file_extensions) != 2: ErrorDialog( error="Unable to organize folder", error_reason= "Folder to organize contained more than two file extensions.", extra_info=f'File Extensions: "{*file_extensions,}"').exec_() return raw_unedited_folder_path = (os.path.join(organize_folder, RAW_UNEDITED_FOLDER_NAME)) jpeg_unedited_folder_path = (os.path.join(organize_folder, JPG_UNEDITED_FOLDER_NAME)) os.makedirs(raw_unedited_folder_path, exist_ok=True) os.makedirs(jpeg_unedited_folder_path, exist_ok=True) file_movement_list = [] for file_name, wf_set in organize_dict.items(): for wf in wf_set: if {wf.file_extension}.issubset(RAW_EXTENSIONS): file_movement_list.append( (wf.file_path, os.path.join(raw_unedited_folder_path, wf.file_name + wf.file_extension))) else: file_movement_list.append( (wf.file_path, os.path.join(jpeg_unedited_folder_path, wf.file_name + wf.file_extension))) with ThreadPoolExecutor() as tpe: tpe.map(thread_safe_file_move, file_movement_list) ActionCompleteDialog( action="Folder Organization", action_message= f'Finished organizing "{os.path.basename(organize_folder)}" folder.' ).exec_()
def browseClicked(self): st = QFileDialog.getOpenFileName(parent=self, caption='Select image to find', directory=QDir.currentPath()) if st[0]: self.labelpath.setText(st[0])
def open_single_file(dialog, data_type): file, _ = QFileDialog.getOpenFileName(parent, directory = QDir.currentPath()) set_filename_and_close_dialog(file, dialog, data_type)
#!/usr/bin/python3 # -*- coding: utf-8 -*- from PyQt5.QtCore import (QDir) print('==%s' % QDir.currentPath()) RES_ICONFILE = QDir.currentPath() + '/mapeditor/resources/Icon_file.png' RES_ICONFILE2 = 'mapeditor/resources/Icon_file2.png' RES_ICONFILE2_SE = 'mapeditor/resources/Icon_file2_se.png' RES_ICOTREE = 'mapeditor/resources/Ico_Tree.ico' RES_ICONFOLDER = 'mapeditor/resources/Icon_folder.png' RES_ICONLAYER1 = 'mapeditor/resources/Icon_layer1.png' RES_ICONLAYER2 = 'mapeditor/resources/Icon_layer2.png' RES_ICONPAINT = 'mapeditor/resources/Icon_paint.png' RES_ICONPANORAMA = 'mapeditor/resources/Icon_panorama.png' RES_ICONPLAY = 'mapeditor/resources/Icon_play.png' RES_ICONREFRESH = 'mapeditor/resources/Icon_refresh.png' RES_ICONSAVE = 'mapeditor/resources/Icon_save.png' RES_ICONTILE = 'mapeditor/resources/Icon_Tile.png' RES_ICONTREE = 'mapeditor/resources/Icon_Tree.png' RES_ICONTILESETTING = 'mapeditor/resources/IconTileSetting.png' RES_IMGTITLE = 'mapeditor/resources/Img_Title.png' RES_ICONMOUSE = 'mapeditor/resources/mouse-pointer.png' RES_ICONSELECT = 'mapeditor/resources/SelectPointer.png' RES_ICONBLACK = 'mapeditor/resources/black.png' RES_ICONCLEAR = 'mapeditor/resources/clear.png' RES_ICONERASE = 'mapeditor/resources/Icon_eraser.png'
def show_save_to_folder_dialog(label, init_dir=None): return QFileDialog.getExistingDirectory(caption=label, directory=init_dir if init_dir is not None else QDir.currentPath())
def saveFunc(self): fileName, _ = QFileDialog.getSaveFileName(self, "Save Pickle file", QDir.currentPath(),"Plain text file (*.pickle)") Save.SaveTxt(self,fileName) pass
def main(): # Initialise. defaultContext = "@default" fetchedTor = MetaTranslator() codecForTr = '' codecForSource = '' tsFileNames = [] uiFileNames = [] verbose = False noObsolete = False metSomething = False numFiles = 0 standardSyntax = True metTsFlag = False tr_func = None translate_func = None # Parse the command line. for arg in sys.argv[1:]: if arg == "-ts": standardSyntax = False argc = len(sys.argv) i = 1 while i < argc: arg = sys.argv[i] i += 1 if arg == "-help": printUsage() sys.exit(0) if arg == "-version": sys.stderr.write("pylupdate5 v%s\n" % PYQT_VERSION_STR) sys.exit(0) if arg == "-noobsolete": noObsolete = True continue if arg == "-verbose": verbose = True continue if arg == "-ts": metTsFlag = True continue if arg == "-tr-function": if i >= argc: sys.stderr.write( "pylupdate5 error: missing -tr-function name\n") sys.exit(2) tr_func = sys.argv[i] i += 1 continue if arg == "-translate-function": if i >= argc: sys.stderr.write( "pylupdate5 error: missing -translate-function name\n") sys.exit(2) translate_func = sys.argv[i] i += 1 continue numFiles += 1 fullText = "" if not metTsFlag: f = QFile(arg) if not f.open(QIODevice.ReadOnly): sys.stderr.write("pylupdate5 error: Cannot open file '%s'\n" % arg) sys.exit(1) t = QTextStream(f) fullText = t.readAll() f.close() if standardSyntax: oldDir = QDir.currentPath() QDir.setCurrent(QFileInfo(arg).path()) fetchedTor = MetaTranslator() codecForTr = '' codecForSource = '' tsFileNames = [] uiFileNames = [] for key, value in proFileTagMap(fullText).items(): for t in value.split(' '): if key == "SOURCES": fetchtr_py(QDir.current().absoluteFilePath(t), fetchedTor, defaultContext, True, codecForSource, tr_func, translate_func) metSomething = True elif key == "TRANSLATIONS": tsFileNames.append(QDir.current().absoluteFilePath(t)) metSomething = True elif key in ("CODEC", "DEFAULTCODEC", "CODECFORTR"): codecForTr = t fetchedTor.setCodec(codecForTr) elif key == "CODECFORSRC": codecForSource = t elif key == "FORMS": fetchtr_ui(QDir.current().absoluteFilePath(t), fetchedTor, defaultContext, True) updateTsFiles(fetchedTor, tsFileNames, codecForTr, noObsolete, verbose) if not metSomething: sys.stderr.write( "pylupdate5 warning: File '%s' does not look like a " "project file\n" % arg) elif len(tsFileNames) == 0: sys.stderr.write( "pylupdate5 warning: Met no 'TRANSLATIONS' entry in " "project file '%s'\n" % arg) QDir.setCurrent(oldDir) else: if metTsFlag: if arg.lower().endswith(".ts"): fi = QFileInfo(arg) if not fi.exists() or fi.isWritable(): tsFileNames.append(arg) else: sys.stderr.write( "pylupdate5 warning: For some reason, I " "cannot save '%s'\n" % arg) else: sys.stderr.write( "pylupdate5 error: File '%s' lacks .ts extension\n" % arg) else: fi = QFileInfo(arg) if fi.suffix() in ("py", "pyw"): fetchtr_py(fi.absoluteFilePath(), fetchedTor, defaultContext, True, codecForSource, tr_func, translate_func) else: fetchtr_ui(fi.absoluteFilePath(), fetchedTor, defaultContext, True) if not standardSyntax: updateTsFiles(fetchedTor, tsFileNames, codecForTr, noObsolete, verbose) if numFiles == 0: printUsage() sys.exit(1)
def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) QtAds.CDockManager.setConfigFlag( QtAds.CDockManager.OpaqueSplitterResize, True) QtAds.CDockManager.setConfigFlag( QtAds.CDockManager.XmlCompressionEnabled, False) QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.FocusHighlighting, True) self.dock_manager = QtAds.CDockManager(self) # Set central widget text_edit = QPlainTextEdit() text_edit.setPlaceholderText( "This is the central editor. Enter your text here.") central_dock_widget = QtAds.CDockWidget("CentralWidget") central_dock_widget.setWidget(text_edit) central_dock_area = self.dock_manager.setCentralWidget( central_dock_widget) central_dock_area.setAllowedAreas(QtAds.DockWidgetArea.OuterDockAreas) # create other dock widgets file_tree = QTreeView() file_tree.setFrameShape(QFrame.NoFrame) file_model = QFileSystemModel(file_tree) file_model.setRootPath(QDir.currentPath()) file_tree.setModel(file_model) data_dock_widget = QtAds.CDockWidget("File system") data_dock_widget.setWidget(file_tree) data_dock_widget.resize(150, 250) data_dock_widget.setMinimumSize(100, 250) file_area = self.dock_manager.addDockWidget( QtAds.DockWidgetArea.LeftDockWidgetArea, data_dock_widget, central_dock_area) self.menuView.addAction(data_dock_widget.toggleViewAction()) table = QTableWidget() table.setColumnCount(3) table.setRowCount(10) table_dock_widget = QtAds.CDockWidget("Table") table_dock_widget.setWidget(table) table_dock_widget.setMinimumSizeHintMode( QtAds.CDockWidget.MinimumSizeHintFromDockWidget) table_dock_widget.resize(250, 150) table_dock_widget.setMinimumSize(200, 150) self.dock_manager.addDockWidget( QtAds.DockWidgetArea.BottomDockWidgetArea, table_dock_widget, file_area) self.menuView.addAction(table_dock_widget.toggleViewAction()) properties_table = QTableWidget() properties_table.setColumnCount(3) properties_table.setRowCount(10) properties_dock_widget = QtAds.CDockWidget("Properties") properties_dock_widget.setWidget(properties_table) properties_dock_widget.setMinimumSizeHintMode( QtAds.CDockWidget.MinimumSizeHintFromDockWidget) properties_dock_widget.resize(250, 150) properties_dock_widget.setMinimumSize(200, 150) self.dock_manager.addDockWidget( QtAds.DockWidgetArea.RightDockWidgetArea, properties_dock_widget, central_dock_area) self.menuView.addAction(properties_dock_widget.toggleViewAction()) self.create_perspective_ui()
def newModel(self, parent): self.model_name, _ = QFileDialog.getOpenFileName( parent, "Open File", QDir.currentPath()) print(self.model_name)
def openFile(self): fileName, _ = QFileDialog.getOpenFileName(self, "Open File", QDir.currentPath()) if fileName: self.canvas.openImage(fileName)
def __init__(self,parent=None): QWidget.__init__(self,parent) self.setWindowTitle('View') dirModel=QDirModel() lay=QGridLayout(self) lv=QListView() lay.addWidget(lv,0,0) lv.setModel(dirModel) lvi=QListView() lay.addWidget(lvi,0,1) lvi.setViewMode(QListView.IconMode) lvi.setModel(dirModel) trv=QTreeView() lay.addWidget(trv,1,0) trv.setModel(dirModel) tav=QTableView() tav.setModel(dirModel) lay.addWidget(tav,1,1) cwdIndex=dirModel.index(QDir.currentPath()) lv.setRootIndex(cwdIndex) lvi.setRootIndex(cwdIndex) trv.setRootIndex(cwdIndex) tav.setRootIndex(cwdIndex)