该部分主要实现主窗口中文件路径的选择,预定义一个路径,首先是一个获得路径的方法,默认路径设置为了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
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
转载请注明原文地址:https://ipadbbs.8miu.com/read-20971.html