def on_btnAdd_clicked(self): ## curPath=os.getcwd() #获取系统当前目录 ## curPath=QDir.homePath() curPath = QDir.currentPath() dlgTitle = "选择音频文件" filt = "音频文件(*.mp3 *.wav *.wma);;所有文件(*.*)" fileList, flt = QFileDialog.getOpenFileNames(self, dlgTitle, curPath, filt) count = len(fileList) if count < 1: return filename = fileList[0] fileInfo = QFileInfo(filename) #文件信息 QDir.setCurrent(fileInfo.absolutePath()) #重设当前路径 for i in range(count): filename = fileList[i] fileInfo.setFile(filename) song = QMediaContent(QUrl.fromLocalFile(filename)) self.playlist.addMedia(song) #添加播放媒体 ## basename=os.path.basename(filename) #文件名和后缀 basename = fileInfo.baseName() self.ui.listWidget.addItem(basename) #添加到界面文件列表 if (self.player.state() != QMediaPlayer.PlayingState): self.playlist.setCurrentIndex(0) self.player.play()
def slot_input(self): dir_tmp, _ = QFileDialog.getOpenFileName( self, "Open image", '../../data/', self.tr("Images(*.png *.jpg *.tif)")) self.lineEdit_input.setText(dir_tmp) tp = QFileInfo(dir_tmp).path() QDir.setCurrent(tp)
def slot_select_gt_file(self): str, _ = QFileDialog.getOpenFileName(self, "Select ground-truth file", '../../data/', self.tr("mask(*.png *.tif)")) self.lineEdit_gt.setText(str) dir = QFileInfo(str).path() QDir.setCurrent(dir)
def slot_select_building_mask(self): str, _ = QFileDialog.getOpenFileName(self, "Select building mask", '../../data/', self.tr("masks(*.png *jpg)")) self.lineEdit_building_mask.setText(str) tp_dir = QFileInfo(str).path() QDir.setCurrent(tp_dir)
def slot_ok(self): self.setWindowModality(Qt.ApplicationModal) imgStretch_dict['input_dir'] = self.lineEdit_input.text() imgStretch_dict['output_dir'] = self.lineEdit_output.text() # nodata = self.spinBox_nodata.value() imgStretch_dict['NoData'] = self.spinBox_nodata.value() imgStretch_dict['OutBits'] = self.comboBox_outbits.currentText() imgStretch_dict['StretchRange']=self.spinBox_range.value() imgStretch_dict['CutValue']=self.spinBox_cutvalue.value() # ss = QCoreApplication.applicationDirPath() QDir.setCurrent(QCoreApplication.applicationDirPath()) # change current dir to "venv/bin/" ''' save parameters into xml ''' ret =0 ret = image_normalize(imgStretch_dict) if ret !=0: print("Error: failed to normalize images") else: QMessageBox.information(self, 'Prompt', self.tr("Images stretched !")) self.setWindowModality(Qt.NonModal) # xmlfile = '../../metadata/image_stretch_inputs.xml' # generate_xml_from_dict(imgStretch_dict, xmlfile) # # QMessageBox.information(self, 'Prompt', self.tr("Have saved the xml file !")) # # one_stretch = ImageStretch(imgStretch_dict) # # one_stretch.stretch_all_image_from_dict() # one_stretch = ImageStretch(inputXml=xmlfile) # one_stretch.stretch_all_image_from_xml() # QMessageBox.information(self, 'Prompt', self.tr("Images stretched !")) self.setWindowModality(Qt.NonModal)
def slot_select_mask_file(self): str, _ = QFileDialog.getOpenFileName(self, "Select mask file", '../../data/', self.tr("mask(*.png *.tif)")) self.lineEdit_mask.setText(str) tp_dir = QFileInfo(str).path() QDir.setCurrent(tp_dir)
def accept(self): """ do this for selected layers QgsProject.instance().readLayer(layers.item(3)) """ here = QDir.currentPath() QDir.setCurrent( str(QFileInfo(self.filePath).absoluteDir().canonicalPath())) for row in range(self.tableWidget.rowCount()): if self.tableWidget.item(row, 0).checkState(): # index = self.tableWidget.item(row,0).data(QtCore.Qt.UserRole).toInt()[0] layerId = self.tableWidget.item(row, 0).data(Qt.UserRole) # noeud xml layerNode = self.getLayerNode(layerId) if layerNode: # recherche id idNode = layerNode.namedItem("id") if idNode is not None: newLayerId = QUuid.createUuid().toString() idNode.firstChild().toText().setData(newLayerId) QgsProject.instance().readLayer(layerNode) QDir.setCurrent(here) super(LayerDialog, self).accept()
def on_actOpen_triggered(self): curPath=QDir.currentPath() #获取当前路径 filename,flt=QFileDialog.getOpenFileName(self,"打开一个文件",curPath, "地震数据文件(*.txt);;所有文件(*.*)") if (filename==""): return aFile=open(filename,'r') allLines=aFile.readlines() #读取所有行,list类型,每行末尾带有 \n aFile.close() fileInfo=QFileInfo(filename) QDir.setCurrent(fileInfo.absolutePath()) self.__labFileName.setText("数据文件:"+fileInfo.fileName()) rowCnt=len(allLines) #行数,即数据点数 self.__vectData=[0]*rowCnt #列表 for i in range(rowCnt): lineText=allLines[i].strip() #字符串表示的数字 self.__vectData[i]=float(lineText) minV=min(self.__vectData) #最小值 self.ui.spinY_Min.setValue(minV) maxV=max(self.__vectData) #最大值 self.ui.spinY_Max.setValue(maxV) if self.ui.radioFill_None.isChecked(): self.do_redrawWave() #绘制波形曲线 else: self.do_redrawFill() #绘制有填充的波形 self.ui.frameSetup.setEnabled(True)
def slot_get_saving_binary_mask_path(self): str, _ = QFileDialog.getSaveFileName(self, "Save file to ...", '../../data/', self.tr("mask(*.png)")) self.lineEdit_binary_mask.setText(str) tp_dir = QFileInfo(str).path() QDir.setCurrent(tp_dir)
def slot_model(self): dir_tmp, _ = QFileDialog.getOpenFileName(self, "Select model", '../../data/', self.tr("Model(*.h5)")) self.lineEdit_model.setText(dir_tmp) tp = QFileInfo(dir_tmp).path() QDir.setCurrent(tp)
def slot_config(self): dir_tmp, _ = QFileDialog.getOpenFileName(self, "Select config", '../../data/', self.tr("Json(*.json)")) self.lineEdit_config.setText(dir_tmp) tp = QFileInfo(dir_tmp).path() QDir.setCurrent(tp)
def slot_output(self): # dir_tmp = QFileDialog.getOpenFileName(self, "Open image", '../../data/') dir_tmp, _ = QFileDialog.getSaveFileName( self, "Open image", '../../data/', self.tr("Images(*.png *.jpg *.tif)")) self.lineEdit_output.setText(dir_tmp) QDir.setCurrent(dir_tmp)
def __init__(self): super(MainWindow, self).__init__() self.asset_type = get_asset_type() self.settings = settings self.working_dir = working_dir self.title = None self.treeWidget = None self.cbox_filter = None self.widget_close = None #self.view_mode = None self.context = None self.thumbnailList = None #self.folders = folder QDir.setCurrent(working_dir) self.setWindowTitle('Lib Manager') self.resize(840, 480) self.color_background = '#404040' self.color_text_field = '#A7A7A7' self.color_button = '#979797' self.color_panel_bright = '#727272' self.color_panel_dark = '#525252' self.color_border = '#2E2E2E' self.setUI()
def on_btnDir_setCurPath_clicked(self): self.__showBtnInfo(self.sender()) curDir = QDir.currentPath() text = QFileDialog.getExistingDirectory(self, "选择一个目录", curDir, QFileDialog.ShowDirsOnly) QDir.setCurrent(text) self.ui.textEdit.appendPlainText("选择了一个目录作为当前目录:\n" + text + "\n")
def slot_get_saving_binary_mask_path(self): # str, _ = QFileDialog.getSaveFileName(self, "Save file to ...", '../../data/', self.tr("mask(*.png)")) # self.lineEdit_binary_mask.setText(str) # tp_dir = QFileInfo(str).path() # QDir.setCurrent(tp_dir) dir_tmp = QFileDialog.getExistingDirectory( self, "select a existing directory", '../../data/') self.lineEdit_binary_mask.setText(dir_tmp) QDir.setCurrent(dir_tmp)
def slot_get_grayscale_mask(self): # str, _ = QFileDialog.getOpenFileName(self, "Select grayscale mask", '../../data/', self.tr("masks(*.png *jpg)")) # self.lineEdit_grayscale_mask.setText(str) # tp_dir = QFileInfo(str).path() # QDir.setCurrent(tp_dir) dir_tmp = QFileDialog.getExistingDirectory( self, "select a existing directory", '../../data/') self.lineEdit_grayscale_mask.setText(dir_tmp) QDir.setCurrent(dir_tmp)
def setCurrentFile(self): self.setWindowTitle("") self.tabWidget.setTabText(self.ind, self.getDocumentTitle(baseName=True)) self.setWindowFilePath(self.fileNames[self.ind]) files = readListFromSettings("recentFileList") while self.fileNames[self.ind] in files: files.remove(self.fileNames[self.ind]) files.insert(0, self.fileNames[self.ind]) if len(files) > 10: del files[10:] writeListToSettings("recentFileList", files) QDir.setCurrent(QFileInfo(self.fileNames[self.ind]).dir().path()) self.docTypeChanged()
def setCurrentFile(self): self.setWindowTitle("") self.tabWidget.setTabText(self.ind, self.currentTab.getDocumentTitle(baseName=True)) self.setWindowFilePath(self.currentTab.fileName) files = readListFromSettings("recentFileList") while self.currentTab.fileName in files: files.remove(self.currentTab.fileName) files.insert(0, self.currentTab.fileName) if len(files) > 10: del files[10:] writeListToSettings("recentFileList", files) QDir.setCurrent(QFileInfo(self.currentTab.fileName).dir().path()) self.docTypeChanged()
def saveSettings(settings): logger.debug('Saving settings') currentDir = QDir() logger.debug(currentDir.absolutePath()) settingsFile = getSettingsFile() if not settingsFile.open(QIODevice.WriteOnly | QIODevice.Text | QIODevice.Truncate): logger.debug('Settings file could not be opened for writing') else: stream = QTextStream(settingsFile) stream << settings settingsFile.flush() settingsFile.close() currentDir.setCurrent(currentDir.absolutePath()) logger.debug('Changing cwd to runtime')
def on_actOpen_triggered(self): curPath=QDir.currentPath() #获取当前路径 filename,flt=QFileDialog.getOpenFileName(self,"打开一个文件",curPath, "频率响应数据文件(*.txt);;所有文件(*.*)") if (filename==""): return aFile=open(filename,'r') allLines=aFile.readlines() #读取所有行,list类型,每行末尾带有 \n aFile.close() fileInfo=QFileInfo(filename) QDir.setCurrent(fileInfo.absolutePath()) self.__loadData(allLines) #解析数据 self.__drawBode() #绘制幅频曲线和相频曲线 self.ui.frameSetup.setEnabled(True)
def slot_select_input_files(self): filelist, s = QFileDialog.getOpenFileNames( self, "Select files", '../../data/', self.tr("masks(*.png *jpg)")) filenum = len(filelist) str = self.lineEdit_inputs.text() if str != '': str += ';' for index, file in enumerate(filelist): if index == filenum - 1: str += file else: str += file str += ';' self.lineEdit_inputs.setText(str) tp_dir = QFileInfo(filelist[0]).path() QDir.setCurrent(tp_dir)
def loadSettings(): logger.debug('Loading settings') currentDir = QDir() logger.debug(currentDir.absolutePath()) settingsFile = getSettingsFile() settings = None if not settingsFile.open(QIODevice.ReadOnly | QIODevice.Text | QIODevice.ExistingOnly): logger.debug('Settings file could not be opened for reading') else: stream = QTextStream(settingsFile) settings = stream.readAll() settingsFile.close() currentDir.setCurrent(currentDir.absolutePath()) logger.debug('Changing cwd to runtime') return settings
def slot_ok(self): self.setWindowModality(Qt.ApplicationModal) QDir.setCurrent(QCoreApplication.applicationDirPath()) # change current dir to "venv/bin/" min =self.spinBox_min.value() max=self.spinBox_max.value() assert (min<=max) valid_labels=list(range(min,max+1)) input_path = self.lineEdit_input.text() if not os.path.isdir(input_path): QMessageBox.warning(self, "Warning", self.tr("input path is not exist!")) sys.exit(-1) instance = DataCheck_and_modify(valid_labels) instance.select_invalid_values(input_path) QMessageBox.information(self, 'Prompt', self.tr("Check completely !")) self.setWindowModality(Qt.NonModal)
def uploadFile(self): global fileName, path fileName, _ = QFileDialog.getOpenFileName( None, "QFileDialog.getOpenFileName()", "", "All Files (*);;Python Files (*.py)", QDir.homePath()) self.lineEdit.setText(fileName) if fileName != '': self.myVideo.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(fileName))) self.myVideo.playButton.setEnabled(True) # create project folder dic = QDir() path = QDir(fileName).dirName() path = path.replace(".", "-") # path = './output/' dic.mkdir(path) dic.setCurrent(path)
def on_actOpen_triggered(self): curPath = QDir.currentPath() filename, flt = QFileDialog.getOpenFileName( self, "打开一个文件", curPath, "股票数据文件(*.txt);;所有文件(*.*)") if (filename == ""): return aFile = open(filename, 'r') allLines = aFile.readlines() #读取所有行,list类型,每行末尾带有 \n aFile.close() fileInfo = QFileInfo(filename) QDir.setCurrent(fileInfo.absolutePath()) self.ui.tabWidget.setTabText(0, fileInfo.baseName()) self.__loadData(allLines) # 载入数据到数据模型 self.__drawChart() # 绘制图表 self.ui.tab_Setup.setEnabled(True)
def tabFileNameChanged(self, tab): ''' Perform all UI state changes that need to be done when the filename of the current tab has changed. ''' if tab == self.currentTab: if tab.fileName: self.setWindowTitle("") self.setWindowFilePath(tab.fileName) self.tabWidget.setTabText(self.ind, tab.getBaseName()) self.tabWidget.setTabToolTip(self.ind, tab.fileName) QDir.setCurrent(QFileInfo(tab.fileName).dir().path()) else: self.setWindowTitle(self.tr('New document') + '[*]') canReload = bool(tab.fileName) and not self.autoSaveActive(tab) self.actionSetEncoding.setEnabled(canReload) self.actionReload.setEnabled(canReload)
def __add_layer_definition_file(self, file_name, root_group): """ shamelessly copied from https://github.com/qgis/QGIS/blob/master/src/core/qgslayerdefinition.cpp """ qfile = QFile(file_name) if not qfile.open(QIODevice.ReadOnly): return None doc = QDomDocument() if not doc.setContent(qfile): return None file_info = QFileInfo(qfile) QDir.setCurrent(file_info.absoluteDir().path()) root = QgsLayerTreeGroup() ids = doc.elementsByTagName('id') for i in range(0, ids.size()): id_node = ids.at(i) id_elem = id_node.toElement() old_id = id_elem.text() layer_name = old_id[:-17] date_time = QDateTime.currentDateTime() new_id = layer_name + date_time.toString('yyyyMMddhhmmsszzz') id_elem.firstChild().setNodeValue(new_id) tree_layer_nodes = doc.elementsByTagName('layer-tree-layer') for j in range(0, tree_layer_nodes.count()): layer_node = tree_layer_nodes.at(j) layer_elem = layer_node.toElement() if old_id == layer_elem.attribute('id'): layer_node.toElement().setAttribute('id', new_id) layer_tree_elem = doc.documentElement().firstChildElement( 'layer-tree-group') load_in_legend = True if not layer_tree_elem.isNull(): root.readChildrenFromXML(layer_tree_elem) load_in_legend = False layers = QgsMapLayer.fromLayerDefinition(doc) QgsProject.instance().addMapLayers(layers, load_in_legend) nodes = root.children() for node in nodes: root.takeChild(node) del root root_group.insertChildNodes(-1, nodes) return None
def tabFileNameChanged(self, tab): ''' Perform all UI state changes that need to be done when the filename of the current tab has changed. ''' if tab == self.currentTab: if tab.fileName: self.setWindowTitle("") self.setWindowFilePath(tab.fileName) self.tabWidget.setTabText(self.ind, tab.getBaseName()) self.tabWidget.setTabToolTip(self.ind, tab.fileName) QDir.setCurrent(QFileInfo(tab.fileName).dir().path()) else: self.setWindowFilePath('') self.setWindowTitle(self.tr('New document') + '[*]') canReload = bool(tab.fileName) and not self.autoSaveActive(tab) self.actionSetEncoding.setEnabled(canReload) self.actionReload.setEnabled(canReload)
def slot_ok(self): self.setWindowModality(Qt.ApplicationModal) inputDict = imgClip_dict inputDict['input_file']=self.lineEdit_input.text() inputDict['output_file']=self.lineEdit_output.text() inputDict['x']=self.spinBox_x.value() inputDict['y']=self.spinBox_y.value() inputDict['row']=self.spinBox_row.value() inputDict['column']=self.spinBox_column.value() QDir.setCurrent(QCoreApplication.applicationDirPath()) # change current dir to "venv/bin/" ret =0 ret = image_clip(inputDict) if ret !=0: print("Error: failed to clip images") else: QMessageBox.information(self, 'Prompt', self.tr("Images cliped !")) self.setWindowModality(Qt.NonModal)
def on_btnOpen_clicked(self): ## curPath=os.getcwd() #获取系统当前目录 curPath = QDir.currentPath() #获取系统当前目录 title = "选择视频文件" filt = "视频文件(*.wmv *.avi);;所有文件(*.*)" fileName, flt = QFileDialog.getOpenFileName(self, title, curPath, filt) if (fileName == ""): return fileInfo = QFileInfo(fileName) baseName = fileInfo.fileName() ## baseName=os.path.basename(fileName) self.ui.LabCurMedia.setText(baseName) curPath = fileInfo.absolutePath() QDir.setCurrent(curPath) #重设当前目录 media = QMediaContent(QUrl.fromLocalFile(fileName)) self.player.setMedia(media) #设置播放文件 self.player.play()
def slot_ok(self): self.setWindowModality(Qt.ApplicationModal) inputDict = imgClip_dict inputDict['input_file'] = self.lineEdit_input.text() inputDict['output_file'] = self.lineEdit_output.text() inputDict['x'] = self.spinBox_x.value() inputDict['y'] = self.spinBox_y.value() inputDict['row'] = self.spinBox_row.value() inputDict['column'] = self.spinBox_column.value() QDir.setCurrent(QCoreApplication.applicationDirPath() ) # change current dir to "venv/bin/" xmlFileName = '../../metadata/image_clip_inputs.xml' generate_xml_from_dict(inputDict, xmlFileName) QMessageBox.information(self, 'Prompt', self.tr("Have saved the xml file !")) instance = ImageClip(inputDict) instance.image_clip_from_dict() QMessageBox.information(self, 'Prompt', self.tr("Images clipped !")) self.setWindowModality(Qt.NonModal)
def getSettingsFile(): appPath = QStandardPaths.writableLocation(QStandardPaths.AppDataLocation) appDir = QDir(appPath) if not appDir.exists(): logger.debug('Creating app directory') appDir.mkpath(appDir.absolutePath()) else: logger.debug('App directory already exists') if appDir.setCurrent(appDir.absolutePath()): logger.debug('Changing cwd to app data directory') else: logger.debug('Changing cwd to app data directory failed') return QFile('settings.json')
######################################################################################################################## import os import sys from PyQt5.QtCore import QDir from PyQt5.QtGui import QIcon from PyQt5.uic import compileUiDir ########### # GLOBALS # ######################################################################################################################## PLAYGROUND_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'playground') sys.path.insert(0, os.path.join(PLAYGROUND_DIR, 'src')) QDir.setCurrent(PLAYGROUND_DIR) def compile_map(d, f): return 'src/playground/ui/', f QIcon.setThemeSearchPaths([os.path.join(PLAYGROUND_DIR, 'icons')]) QIcon.setThemeName('Faenza') ######## # MAIN # ######################################################################################################################## if __name__ == '__main__': # good for develop and first run. compileUiDir(
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)