Python Gtk Glade 应用结构。最佳实践是什么?

Python Gtk Glade app structure. What are the best practises?

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

现在我想知道这个组织是否是一个好的做法。因为我看过一个视频教程,里面每个window都有自己的“.ui”文件和.py文件。此外,其他应用程序似乎也是这样组织的,Anjuta 项目似乎也遵循此规则。

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

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

提前致谢。

您设置应用程序的方式将取决于您的偏好(编码风格)、应用程序的大小和应用程序的用途。但是,这里有几个注意事项:

Python 代码总行数会不会超过 1000 行?超过 1000 行的文件将难以导航。我知道代码折叠、代码片段等有帮助,但仍然有帮助。

如果您有多个 GtkWindow,请将每个 window 的 .ui 和 .py 分开放置。这有助于追踪错误或添加功能。您提到了 sqlite,如果文件在某种程度上具有特定用途,则文件中的 sql 查询在 5 年后更容易掌握。如果将对话框放在与父 window 相同的 ui 文件中,则可以更轻松地使用 set_transient_for 和类似的编程。在一个 .ui 文件中拥有多个 GtkWindow 将使拖放小部件重新排序变得很痛苦。

部分应用程序代码是否可重复使用?如果您发现您在多个具有不同目的的不同文件中复制功能,请创建一个 class 或函数来简化该功能(仅适用于多文件设置)。

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

我积极使用 Python + Gtk found here 开发自己的业务管理软件。我发现上述原则对我很有效。

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

免责声明:这些建议仅代表我的意见。 Python、Gtk 或 Glade 不认可它们。您需要根据您的用例评估这些建议。