实训记录二:Maya插件:pyside实现窗口路径的预定义和文件的选择

    技术2022-07-12  73

    该部分主要实现主窗口中文件路径的选择,预定义一个路径,首先是一个获得路径的方法,默认路径设置为了Maya的默认文件位置,通过mayaAppDirTemp = os.getenv(“MAYA_APP_DIR”)获得,在此文件目录下自定义了一个关于节点预设的文件夹,将节点文件保存在此,返回路径。可以在该目录下导入文件,也可导入其他文件目录下的文件。 def getPresetFolder(): mayaAppDirTemp = os.getenv("MAYA_APP_DIR")##获取系统的环境变量 nodePresets = 'Presets/jn_nodePresets'#自定义路径 filePath = mayaAppDirTemp+'/'+nodePresets # 如果没有就创建这个文件夹 if not os.path.exists(filePath): os.makedirs(filePath) return filePath 在主窗口初始化中,获得getesetFolde()的返回值。 self.presetDir = getPresetFolder()##获得返回路径 在主窗口的setting方法中进行设置,将路径赋值给文本框。 def setting(self): ##设置窗口中控件的属性 self.dir_lineEdit.setText(self.presetDir) 将新建函数添加到create中,窗口创建时调用create,setting放置的位置很重要,只有窗口中的控件都创建出来后,才能进行进一步的设定,最后连接信号和槽。 def create(self): self.createControls() self.createMenuBar() self.createLayouts() self.retranslateUi() self.setting() self.createConnections() self.setTabOrders() 完成了路径的预定义,接下来实现点击set选择文件,dirBtnCmd 是set按钮要执行的函数 def dirBtnCmd(self): options = QtWidgets.QFileDialog.DontResolveSymlinks | QtWidgets.QFileDialog.ShowDirsOnly ###不显示快捷方式。只显示文件夹 ###getExistingDirectory(父对象,"窗口名称",文件路径.text(), options) directory = QtWidgets.QFileDialog.getExistingDirectory(self,"Setting Presets Dir",self.dir_lineEdit.text(), options) ##返回检测到的文件目录 if directory: self.dir_lineEdit.setText(directory)#对文本框进行刷新 在createConnections函数中进行按钮和槽函数的连接; self.dir_pushButton.clicked.connect(self.dirBtnCmd) 最终效果: 点击set
    Processed: 0.009, SQL: 9