用于Qt .ui到.py的Eclipse外部工具与pyuic

Art*_*ijk 5 python eclipse qt pydev

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

pla*_*key 10

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

所以可能最简单的方法来纠正这个问题因为我找不到让eclipse为我删除文件扩展名的方法是制作一个非常小的脚本来完成工作.

您可能需要稍微修改它以适合您的pyuic安装.

在/ usr/bin中/ pyuicEclipse:

#!/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
Run Code Online (Sandbox Code Playgroud)

使它可执行,我使用的eclipse配置更简单:

  • PyUIC-> Main-> Location:/ usr/bin/pyuicEclipse ---显然改为你的
  • PyUIC-> Main->参数:$ {resource_loc}
  • PyUIC->刷新 - 选中"完成后刷新资源"
  • PyUIC-> Build - 取消选中"在启动前构建"
  • PyUIC-> Common - 不要执行该文章中提到的F​​ile选项

这适用于linux,所以如果你在另一个操作系统上它可能需要稍微修改,但我希望这可以解决你的问题:)

  • 您可以始终[请求变量功能](http://wiki.eclipse.org/FAQ_How_do_I_report_a_bug_in_Eclipse%3F)从eclipse开发人员输出没有扩展名的文件名.但如果它实施的话可能需要一段时间.值得您花时间从长远来看. - 最后一个选项是修改pyuic源代码并使其自动删除可能存在的任何.ui扩展名 - 我不建议这样做,因为升级将使您不得不每次都重新应用此补丁. (2认同)

Mer*_*ing 5

为了维护Eclipse的跨平台性质,我敲了一下DOS等价的platinummonkey的bash脚本.它不是那么强大,但它完成了这项工作:

@echo off
set pyUICCommand="pyuic"
set fname=%1
set fname=%fname:.ui=.py%
%pyUICCommand% -o %fname% %1
Run Code Online (Sandbox Code Playgroud)