首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >玛雅+比克特。如何在pyqt中找到*.ui文件和图标?

玛雅+比克特。如何在pyqt中找到*.ui文件和图标?
EN

Stack Overflow用户
提问于 2015-05-08 16:33:06
回答 2查看 1.4K关注 0票数 0

我使用Maya2014 + PyQt4。我所有的脚本都存储在服务器上。我有一条路:

代码语言:javascript
运行
复制
## a place where all are read python scripts:
PYTHONPATH=X:\tools\Maya\windows\2014\python\
## a place for *.ui files:
# X:\tools\Maya\windows\2014\python\ui\
## a place for *.ico and *.png files:
XBMLANGPATH=X:\tools\Maya\windows\2014\icons\

当我运行maya的脚本时,没有问题。但是要下载*.ui文件,我必须指定完整的路径:

代码语言:javascript
运行
复制
form, base = uic.loadUiType('X:/tools/Maya/windows/2014/python/UI/lightSets.ui')

如何在不指定完整路径的情况下自动加载*.ui文件?我有很多系统变量,希望在这个文件系统路径中搜索。例如,当我在没有maya的python中工作时,只需指定let 'ui/aaa.ui'就可以找到该文件,因为路径的起点已经在运行python脚本以及子文件夹和文件中。

*.ui文件的第二个问题。QtDesigner在维护时为所有图片创建了这样的方式:

代码语言:javascript
运行
复制
<property name="icon">
  <iconset>
    <normaloff>../../icons/close_btn.png</normaloff>
    ../../icons/close_btn.png
  </iconset>
</property>

当我在maya中加载这个文件时,她找不到这个相对路径的图片。我认为问题再次以同样的方式开始设置是不知道从哪里和相对已经从他得到错误。

现在,我必须指定所有图像的完整路径,这使得更改路径和传输脚本变得困难。一般来说,直接路径到所有的图标和资源,这是一个不好的方式。告诉我如何使用蟒蛇玛雅的相对路径?

例如,我想使用这个基本路径:

代码语言:javascript
运行
复制
X:/tools/Maya/windows/2014/python/

然后,只需为从该文件夹加载的所有数据指明相对路径。该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2015-05-09 07:07:18

如果我正确理解你的帖子,这是我的建议:

PYTHONPATH适用于其他方面,比如导入模块,而不是作为字符串传递的任意文件。我会把PYTHONPATH变量放在一边,并设置一个新的变量。然后,我将使用以下方法访问Python中的新变量:

代码语言:javascript
运行
复制
import maya.mel
my_path = maya.mel.eval("getenv MY_NEW_PATH") 

并使用os.join将其添加到每个字符串路径:

代码语言:javascript
运行
复制
import os
form, base = uic.loadUiType(os.join(my_path, 'python/UI/lightSets.ui'))
票数 0
EN

Stack Overflow用户

发布于 2015-05-09 18:42:51

在这里熟悉os.walk()是个好主意:

代码语言:javascript
运行
复制
items = []
for directory in list_of_dirs:
    for root, _, files in os.walk(directory):
        for f in files:
            if f.endswith(".ui"):
               items.append(uic.load(os.join(root, f)

,这将为list_of_dirs中任意目录下的任何位置的所有UI文件提供一个表单、基对列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30128717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档