使用 qt 和 django 创建桌面应用

Posted

技术标签:

【中文标题】使用 qt 和 django 创建桌面应用【英文标题】:use qt and django to create desktop apps 【发布时间】:2011-02-17 01:31:00 【问题描述】:

我有使用 django 创建桌面应用程序的想法。原则是: - 编写 django 应用程序,并使用像 cherrypy 这样的东西来服务它。 - 用 C++ 编写一个 Qt 应用程序来访问它,并使用 QtWebview (webkit) 来访问它

我想将它“捆绑”在一个应用程序中。越轻越好:)

所以这是我的问题,如果您有更好的想法和建议,请 分享它们:)

是否可以使用 c++ 提供 django 应用程序? (嵌入 python 的 c++ 服务器)? 以前有人做过吗?你有一些文章、博客文章吗?

非常感谢!

【问题讨论】:

您有这个选择的具体原因吗?为什么不直接使用 Qts python 绑定或类似的更扁平的解决方案? gf,感谢您的评论。我过去实际上使用过 pywxiwdgets,而且速度很慢。我知道,我可以使用线程将 UI 与应用程序的“业务任务”分开,但我真的很想在单个应用程序中探索客户端/服务器组合的想法。再次感谢:) 【参考方案1】:

Pyjamas Desktop 可能可以与 Django 集成。并且不需要 C++。它目前使用 pywebkitgtk,但我认为它没有任何真正的理由不能使用 PyQt4 而不是做一些工作。

【讨论】:

【参考方案2】:

Django 有它自己的服务器。为什么涉及 CherryPy?

您正在创建一个极其复杂的架构,而没有任何可识别的目的。您的 cmets 几乎不可能在您的问题的上下文中解析。请考虑重写问题,用您实际编写的实际内容来解决您的实际问题。

“我......过去使用过 pywxiwdgets,它很慢”

有许多桌面框架。使用另一个。

不要介绍 Django —— 它是用于 Web 应用程序,而不是桌面应用程序。搞乱 Django 和 CherryPy 的开销是愚蠢的。

找出 SLOW 的原始原因。我敢打赌,使用 SQLite 会导致数据库运行缓慢。如果不是这样,我敢打赌这是一个糟糕的数据模型。如果不是这样,我会是 pywxwidgets 的使用不当。如果不是这样,我敢打赌你的桌面应用程序的互联网连接速度很慢。确实,我敢打赌,几乎你的应用程序的任何部分都是罪魁祸首,制作超级复杂的架构不会让事情变得更快,只会更复杂。

在您确定并衡量缓慢的原始原因之前,您实际上并没有解决您实际遇到的实际问题。

【讨论】:

【参考方案3】:

看http://www.python-camelot.com/

上面写着“一个基于 Sqlalchemy 和 PyQt 的 Python GUI 框架,灵感来自 Django 管理界面。”

【讨论】:

【参考方案4】:

使用PyQt 或PySide 代替C++。

【讨论】:

以上是关于使用 qt 和 django 创建桌面应用的主要内容,如果未能解决你的问题,请参考以下文章

我想将使用 VTK、C++ 和 QT 开发的桌面应用程序移植到 Web 应用程序

使用共享逻辑 (MVC) 将 Qt 桌面应用程序扩展到 Web 服务

公布Qt Widgets桌面应用程序的方法

Qt 桌面应用程序

将 Google 地球嵌入桌面应用程序而不是网站。 QT是一个真正的选择吗?

如何在Python和Qt Quick QML应用程序中实现简化的双向数据绑定