Python Gtk Glade应用程序结构。最佳做法是什么?

时间:2018-09-24 18:13:26

标签: python gtk structure project glade

自从我发现Python以来,我已经使用Glade + Python + Gtk创建了四个小应用程序。对于每个文件,结构都是一个文件夹,其中包含应用程序的名称,其中包含:

  • “图像”文件夹
  • 一个主要的.py文件,其中包含处理所有项目窗口的所有类
  • .glade文件,其中包含所有窗口(主应用程序窗口,关于对话框,配置对话框等)
  • 一个style.css文件
  • (必要时其他文件为sqlite文件和/或json文件)

现在我想知道这个组织是否是一个好习惯。因为我看过一个视频教程,其中每个窗口都有自己的“ .ui”文件和.py文件。另外,其他应用似乎也是如此组织的,Anjuta项目也似乎也遵循此规则。

此外,显示如何创建Python-Gtk-Glade应用程序的教程几乎都是一个窗口的项目...

所以我的问题是:如何组织Python-Gtk-Glade项目,或者最好的方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

设置应用程序的方式取决于您的首选项(编码样式),应用程序的大小以及应用程序的用途。但是,这里有一些注意事项:

Python代码的总行数将大于1000行吗?超过1000行的文件将难以导航。我知道代码折叠,摘要等有帮助,但仍然如此。

如果您有多个GtkWindow,则分别放置每个窗口的.ui和.py。这有助于跟踪错误或添加功能。您提到了sqlite,如果文件在某种程度上是针对特定目的的,则在5年内更容易掌握文件中的sql查询。如果将对话框与父窗口放在同一ui文件中,则可以更轻松地使用set_transient_for和类似的编程。 .ui文件中包含多个GtkWindow会使拖放小部件重新排序很麻烦。

应用代码的一部分可以重用吗?如果发现要在具有不同用途的几个不同文件中复制功能,请创建一个类或函数来简化该功能(仅适用于多文件设置)。

最后,当包含.ui和.py文件的文件夹开始变大(?25-50个文件?)时,您可能想要一个包含一组具有相似功能的文件的子文件夹。这不是一成不变的。 Nemo并没有使用太多,其他人则使用。

我使用here找到的Python + Gtk积极开发自己的业务管理软件。我发现上述原理很适合我。

我认为Gtk文档通常显示单个文件设置的原因是因为它们仅是概念证明,而不是最佳应用程序管理教程。应用管理(无论如何对我而言)是反复试验,是从研究其他开源应用开始的。

免责声明:这些建议仅供我参考。它们不被Python,Gtk或Glade认可。您将需要根据用例评估这些建议。