繁体   English   中英

是否有一个 Python 库可以在不编写太多代码的情况下构建用户界面?

[英]Is there a Python library that allows to build user interfaces without writing much code?

几年以来,我一直在 Python 中编写编辑前端,我厌倦了每次都对 window 或对话框的每个 UI 细节进行微观管理。

有没有一种技术可以让我指定 GTK+ Glade 设计的界面与 SQLite 数据库的表和记录之间的关系来完成所有中间人工作? 它应该让我免于手动编写事件处理程序、输入评估器和视图更新的工作。

有问题的技术只是示例,但我想尽可能坚持使用 Python。

除了已经提到的之外,我还可以添加:

我从未使用过它们中的任何一个,因此没有任何建议,但是,就其价值而言,我至少使用了 2 个直接基于 pygtk 构建的复杂程序,它们在 Windows 和 Linux 中都可以使用。

我认为 Kiwi 是其中唯一一个支持 db 的(通过与 SQLAlchemy、SQLObject 或 Storm 的接口),但如果您不能在任何其他框架中使用其中一个 ORM,我会感到惊讶。

PyQt 及其模型可以为您自动执行其中一些任务(在一定程度上偏离课程,例如用数据库中的数据填充小部件并处理大多数小部件行为、缓冲等)。

如果您想要一种更加面向对象的方法来处理 SQL,您可以查看面向 ORM 的解决方案(例如 SQLAlchemy)。

Dabo建立在 wxPython 之上,因此您可能不喜欢它,但它的设计目的是使将 GUI 与数据库联系起来变得容易,所以如果您还没有的话,我建议您检查一下。 特别是,它有很好的工具将小部件与数据联系起来,并处理许多常见的 GUI 开发案例。

wxGlade可能会有所帮助,虽然我自己没有使用过它,所以我不会根据经验说话。

Boa Constructor显然有一个 wxPython GUI 构建器,还有PythonCard ,尽管这两个项目的开发似乎已经停滞不前。

特质可能是您的一个不错的选择。 http://code.enthought.com/projects/traits/docs/html/TUIUG/index.html

就像 map 到 object 的 UI 一样简单,将 SQLAlchemy 合并到持久性似乎并不太牵强。

有一本关于wxPython的好书,《wxPython in Action》,对于其他一些解决方案来说是不能说的。 不敲别人。 过去我曾成功地使用 wxPython 进行开发,它附带了一组很棒的演示应用程序,其中包含您可以随意借用的源代码。

我为 wxPython 应用程序找到的最好的 UI 设计师是一个商业的,Anthemion DialogBlocks。 它是由 wxPython 程序员之一编写的,物有所值。 UI 设计的其他解决方案包括 wxGlade(我发现它有用但没有特色)和 Boa Constructor(没用过)。 Wing IDE 可能也有一个。 我相信,Stani 的 Python 编辑器捆绑了 wxGlade。 还有很多其他项目并没有真正起作用或相当陈旧。

就 SQL 自动化而言,正如另一个回答者所说,我会看 SQL 炼金术,但是小型应用程序的学习曲线可能太多了,你最好直接去 ZCE84A752148C03F9 最好的odbc api是Django,pyodbc使用的那个。

自从我使用这些工具开发以来已经有一段时间了,所以每个工具可能都有更新的东西,但在当时,这些工具在我看来绝对是最好的。

我在 wxPython 上取得了很多成功,但那是几年前的事了,可能会有更好的新解决方案......

好的,这是一个非常规的解决方案,但为自己编写一个代码生成器。 我已经用Mako做过几次了。 因此,在我的情况下,我会自动检查一个表,它包含哪些列以及类型并从中生成类。 它需要更多的前期工作,但完全符合您的要求,并且可以在后续项目中重复使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM