7

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

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

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

4

8 回答 8

5

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

我从来没有使用过它们中的任何一个,所以没有任何建议,但是,就其价值而言,我已经使用了至少 2 个直接构建在 pygtk 上的复杂程序,它们在 Windows 和 Linux 中都可以运行。

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

于 2009-03-23T02:53:13.517 回答
4

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

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

于 2009-03-22T22:58:54.857 回答
4

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

于 2009-03-23T00:37:12.157 回答
1

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

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

于 2009-03-23T00:04:16.540 回答
1

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

尽管将 UI 映射到对象很简单,但合并 SQLAlchemy 以实现持久性似乎并不太牵强。

于 2009-03-24T15:34:32.850 回答
1

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

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

就 SQL 自动化而言,正如另一位回答者所说,我会研究 SQL alchemy,但小型应用程序的学习曲线可能太多,最好直接使用 odbc。最好的 odbc api 是 Django 使用的,pyodbc。

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

于 2009-03-27T21:41:51.913 回答
0

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

于 2009-03-24T15:43:44.200 回答
0

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

于 2009-04-19T09:39:09.880 回答