背景:我有一个用Python27x编写的桌面应用程序,它使用wxPython
作为UI,使用requests
和xml.etree.ElementTree
从RESTful服务检索打开的数据,并以有意义的方式向用户呈现数据。
我正在使用PySide
重新编写我的应用程序。我非常确定我可以在HTML5
中展示我的数据糖果,并且我最终希望使用web2py
和JavaScript
提供一个web应用程序。PySide
和web2py
版本都需要支持:
获取我为处理服务的公平使用策略而创建的Throttle
对象的锁。
用链接或按钮在表中显示分析数据,以便检索或加载更多相关数据。
显示相关数据列表,并在鼠标悬停在组的任何成员上时突出显示项组。
使用NLTK
呈现文本文档并提供关键字/词性标记的自动搜索/突出显示。
提供各种数据统计的基本图表。
问:鉴于我告诉你的关于我的应用程序,假设web2py
和HTML5
可以满足我的用户界面/演示需要,我应该采取什么步骤/小部件来让我的PySide
桌面应用程序在移植到web2py
时最大化重用?在编写桌面版本时,我应该确保避免什么?
最佳答案
您需要将数据和数据处理与用户界面分离。Qt(因此PySide)非常关注这种模型视图方法(参见http://qt-project.org/doc/qt-4.8/modelview.html),它提供了组织数据的模型,以及显示数据的视图。在Qt中,这种方法允许在同一数据集中轻松地使用多个视图,而不必担心如何在视图中获取数据。
不可否认,Qt模型需要一些时间来适应,但是前面的教程应该为您提供一些指导和参考,帮助您开始。在你的情况下,我将采用以下方法:
找到/扩展合适的Qt模型来管理数据
将此数据与PySide应用程序中的标准/自定义视图一起使用
开发基于web2py的视图以显示webapp中的数据
我不熟悉web2py,所以我无法评估这最后一步有多困难/容易不过,我建议您(如果有的话)花点时间来了解Qt模型视图框架,因为它可以在将来为您节省大量时间(至少以我的经验来看)。
关于python - 为PySide和web2py编写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18490965/