将已编写的GTK python代码加载到GUI设计器中

时间:2014-11-25 12:58:00

标签: python gtk

我想更改已编写应用程序的界面。这个应用程序是用python和GTK编写的。我不想自己手动更改代码,但是我需要一个界面设计器,所以我可以将这个应用程序导入它,并以图形方式将我想要的更改应用到它。我尝试过Glade和QTdesigner,但是他们生成了.ui文件,我找不到将.ui文件转换回python代码的工具。另外,不要直接打开python文件,也没有导入选项。 任何解决方案将不胜感激。 谢谢

2 个答案:

答案 0 :(得分:0)

这实际上取决于应用程序。

如果应用程序使用*.glade*.ui文件,则可以根据设计的程度重新排列某些元素并更换容器类型。

如果没有这样的文件,那你就不走运了。然后ui是“硬”编码的(就像python代码一样难以获得..)并且你必须通过自己修改python代码来修改小部件hirarchy。

没有这样的编辑器能够从代码本身中提取布局/ ui文件。


gtkinspector或以前称为gtkparasite可以动态修改小部件的属性,但没有真正修改正在运行的应用程序的python代码。他们偷偷摸摸应用程序代码并通过gtk模块lib界面从后面修改小部件树(如果我错在这里,请纠正我,不完全确定)。

答案 1 :(得分:0)

你做不到。几年前,Glade已经删除了代码生成功能,因为这会导致无法维护的代码在手动修补代码时添加程序的内部逻辑。所以要么你:

  • 使用Glade生成一个ui文件,并且必须更改python代码才能使用它
  • 或者您将手动编写一些代码来更改用户界面

无论哪种方式,你都会有一些代码要编写。如果您在用户界面中进行了大量更改,请将程序转换为使用Glade ui文件。这需要一些时间,但事后变得更容易。如果您只需要进行一些更改,只需在代码中执行这些更改,就可以更快地完成。