Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将已经编写的GTK python代码加载到GUI设计器中_Python_Gtk - Fatal编程技术网

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

将已经编写的GTK python代码加载到GUI设计器中,python,gtk,Python,Gtk,我想更改书面应用程序的接口。这个应用程序是用python和GTK编写的。我不想自己手动更改代码,但我需要一个界面设计器,以便将此应用程序导入其中,并以图形方式将预期更改应用到其中。我尝试了Glade和QTdesigner,但它们生成了.ui文件,我找不到将.ui文件转换回python代码的工具。另外,服务器不直接打开python文件,也没有导入选项。 任何解决方案都将不胜感激。 谢谢这取决于应用程序 如果应用程序使用*.glade或*.ui文件,您可以-根据其设计的好坏,重新排列某些元素并替换出

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

这取决于应用程序

如果应用程序使用
*.glade
*.ui
文件,您可以-根据其设计的好坏,重新排列某些元素并替换出容器类型

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

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



GTKINSPTT或以前称为gtkparasite的程序可以动态修改小部件的属性,但不能真正修改正在运行的应用程序的python代码。他们偷偷地绕过应用程序代码,通过gtk模块库接口从后面修改小部件树(如果我在这里错了,请纠正我,不能完全确定)。

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

  • 使用Glade生成ui文件,并且无论如何都必须更改python代码才能使用它
  • 或者您需要手动编写一些代码来更改用户界面

无论哪种方式,您都将有一些代码要编写。如果用户界面中有很多更改,则将程序转换为使用Glade ui文件。这将需要一些时间,但之后的更改将更容易。如果您只需要做几项更改,只需在代码中进行更改,这样做会更快。

谢谢,但您能告诉我如何应用此修补程序吗。我已经安装了galde。谢谢,但是我如何才能将我的程序转换为使用glade文件呢?这是一组python文件,其中包含gtk库的层次结构。正如drahn告诉您的,这是一个帮助您了解如何创建接口的工具。您需要在Glade中创建一个新项目,复制接口,然后使用该接口更改python代码逻辑,以便它使用Glade对象,而不是在代码中手动创建的对象。请参见本教程: