[英]Is there a Python library that allows to build user interfaces without writing much code?
几年以来,我一直在 Python 中编写编辑前端,我厌倦了每次都对 window 或对话框的每个 UI 细节进行微观管理。
有没有一种技术可以让我指定 GTK+ Glade 设计的界面与 SQLite 数据库的表和记录之间的关系来完成所有中间人工作? 它应该让我免于手动编写事件处理程序、输入评估器和视图更新的工作。
有问题的技术只是示例,但我想尽可能坚持使用 Python。
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.