用于Qt.ui to.py和pyui的Eclipse外部工具

2024-06-14 02:39:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 文件工具pyorghttpui源代码qt
3条回答

为了维护Eclipse的跨平台特性,我开发了一个DOS等效的platinumonkey的bash脚本。它不是很强大,但它确实起到了作用:

@echo off
set pyUICCommand="pyuic"
set fname=%1
set fname=%fname:.ui=.py%
%pyUICCommand% -o %fname% %1

因此,问题似乎可以归结为${resource_loc},因为这将为您提供完整的路径名/path/to/file/文件名.ui-是的,它确实包含.ui因此,当您说${resource_loc}.py时,这将转换为/path/to/file/文件名.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

使其可执行,我使用的eclipse配置要简单得多:

  • PyUIC->;Main->;位置:/usr/bin/pyuicEclipse-显然,将此更改为您的
  • PyUIC->;Main->;参数:${resource_loc}
  • PyUIC->刷新-检查“完成时刷新资源”
  • PyUIC->;构建-取消选中“启动前构建”
  • PyUIC->;Common-不要执行文章中提到的File选项

这可以在linux上运行,因此如果您在另一个操作系统上,它可能需要稍作修改,但我希望这能解决您的问题:)

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

  1. 通过Eclipse更新或通过Eclipse marketplace:

  2. 在Eclipse中设置一个外部工具配置选项,如下所示

主要内容:

  1. 姓名:pyuic\u run。(或类似的东西)
  2. 位置:python解释器(或pyside)的路径-uic.exe文件如果你用这个)
  3. 参数:在第一行,将pyuic.py(如果使用pyside,则不需要-uic.exe文件如上图所示)。如果路径包含空格,请在路径两边使用双引号。在第二行输入“${resource_loc}”(这将设置资源文件的名称)
  4. 在refresh中:启用“refresh resources on completion”(查看最终文件)
  5. 内部版本:禁用“在启动前生成”#此处不需要
  6. 环境:无变化
  7. 共同点:激活“文件”选项并将路径设置为: ${parent path}/${name sans extension}.py

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

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

相关问题 更多 >