首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pyuic将Qt .ui转换为.py的Eclipse外部工具

使用pyuic将Qt .ui转换为.py的Eclipse外部工具
EN

Stack Overflow用户
提问于 2011-04-04 23:51:10
回答 3查看 3.4K关注 0票数 5

我在带有Qt集成的Eclipse中使用PyDev。使用外部工具,我可以从qt .ui文件在.py中创建python源代码。这是外部工具:http://permalink.gmane.org/gmane.comp.python.xy.devel/413,问题是生成的python .py文件的名称类似于MyGeneratedFile.ui.py。我如何调整外部工具,使其在没有.ui的情况下具有生成文件的扩展名,如MyGeneratedFile.py?

EN

回答 3

Stack Overflow用户

发布于 2011-06-21 10:53:04

因此,问题似乎归结为${resource_loc},,因为它为您提供了完整的路径名/path/to/file/filename.ui -是的,它确实包括.ui,因此当您说${resource_loc}.py时,它会转换为/path/to/file/filename.ui.py

因此,也许纠正这个问题的最简单方法是编写一个非常小的脚本来完成工作,因为我找不到让eclipse删除文件扩展名的方法。

您可能需要对其稍作修改,以适用于您的pyuic安装。

/usr/bin/pyuicEclipse:

代码语言:javascript
复制
#!/bin/bash
pyUICCommand="/usr/bin/pyuic" # change this per your installation
x=$1
f=`basename $x`
d=`dirname $x`
fNoUI="`echo $f | sed 's/\.ui$//'`" # removes .ui extension from file basename
$pyUICCommand -o ${d}/${fNoUI}.py $x

让它成为可执行的,那么我使用的eclipse配置就简单多了:

  • PyUIC->Main->Location: /usr/bin/pyuicEclipse显然将其更改为yours
  • PyUIC->Main->Arguments:${resource_loc}
  • PyUIC->Refresh -选中“Completion"
  • PyUIC->Build时刷新资源-取消选中”Launch"
  • PyUIC->Common之前的构建-不要执行文章

中提到的文件选项

这可以在linux上工作,所以如果你在另一个操作系统上,可能需要做一些细微的修改,但我希望这能解决你的问题:)

票数 10
EN

Stack Overflow用户

发布于 2011-06-21 18:17:45

为了维护Eclipse的跨平台特性,我编写了一个DOS版本,等同于platinummonkey的bash脚本。它不是很健壮,但它可以完成以下工作:

代码语言:javascript
复制
@echo off
set pyUICCommand="pyuic"
set fname=%1
set fname=%fname:.ui=.py%
%pyUICCommand% -o %fname% %1
票数 5
EN

Stack Overflow用户

发布于 2012-05-15 12:56:18

这个问题有一个简单的解决方案,根本不需要脚本。

通过Eclipse更新或通过Eclipse marketplace

  • Setup安装
  1. pathtools 插件,Eclipse中的一个外部工具配置选项如下所示

在Main中:

  1. 名称: pyuic_run。(或者python解释器的某个similar)
  2. Location:路径(或pyside-uic.exe,如果在第一行使用this)
  3. Arguments:,则将路径放到pyuic.py (如果使用pyside-uic.exe,则不需要))。如果路径包含空格,请使用双引号将其引起来。在第二行放入"${resource_loc}“(这将设置资源文件的名称)
  4. In refresh: Enable "Refresh resources”(查看最终文件)
  5. In Build: Disable "Build be“#not resources
  6. In Environment: No changes
  7. In Common:激活"File”选项并将路径设置为:${parent-path}/${name-sans-extension}.py

请注意,${parent-path}和${name-sans-extension}是通过pathtools插件提供的参数。

如果应用此方法,然后在.ui资源文件上运行配置,您将看到创建了一个新的.py文件。

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

https://stackoverflow.com/questions/5541024

复制
相关文章

相似问题

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