为PySide和web2py写作

时间:2013-08-28 14:35:48

标签: python pyside web2py reusability

背景:我有一个桌面应用,我用Python27x编写,使用wxPython用于用户界面,requestsxml.etree.ElementTree用于检索开放数据来自RESTful服务,并以有意义的方式向用户提供数据。

我目前正在使用PySide重新编写我的应用。我相当肯定我可以在HTML5中展示我的数据,我最终希望使用web2pyJavaScript提供网络应用。

PySideweb2py版本都需要支持:

  • 要求锁定我为处理该服务的公平使用政策而制作的Throttle对象。
  • 在表格中显示分析数据,其中包含用于检索或下载更多相关数据的链接或按钮。
  • 显示相关数据的列表,并突出显示该组中任何成员的鼠标悬停项目组。
  • 使用NLTK提供文字文档并提供关键字/词性标注的自动搜索/突出显示。
  • 提供有关数据的各种统计数据的基本图表和图表。

问题:鉴于我已经告诉过您有关我的应用的内容,并假设web2pyHTML5可以满足我的用户界面/演示需求,我可以采取哪些步骤我应该使用take / widgets制作我的PySide桌面应用,以便在移植到web2py时最大限度地重复使用?在编写桌面版时我应该避免什么?

2 个答案:

答案 0 :(得分:2)

在我看来,你可能会过度思考这个问题。

基本上,您将有两种向最终用户呈现数据的方法;

1)通过GUI

2)通过HTML5-candy

当然,限制因素是任何限制(如果有的话),web2py / HTML5会在呈现数据时放置吗?

如果我正在编写这样一个应用程序,它使用PySide和web2py来呈现相同的数据但是使用它们各自的方法(gui,web),我可能想要抽象出来的数据以这样的方式呈现您可以将相同的流提供给GUI功能或Web功能,每个功能都可以使用它们各自的方法来显示数据。

我能想到的另一种选择是在GUI演示文稿中嵌入Web视图。也许你可以放弃使用/避免使用什么小部件的很多问题,只需在嵌入式Web视图中使用你的html5-candy?

答案 1 :(得分:2)

您需要将数据和数据处理与用户界面分开。 Qt(以及PySide)非常关注这种模型 - 视图方法(参见例如http://qt-project.org/doc/qt-4.8/modelview.html),并提供组织数据的模型和呈现数据的视图。在Qt中,这种方法允许在同一数据集上轻松使用多个视图,而不必担心如何在视图中获取数据。

不可否认,Qt模型需要一些时间来习惯,但上述教程应该为您提供一些指导和参考,以帮助您入门。在你的情况下,我会采取以下方法:

  • 查找/扩展合适的Qt模型以管理您的数据
  • 将此数据与PySide应用程序中的标准/自定义视图一起使用
  • 开发基于web2py的视图以在您的webapp中显示数据

我不熟悉web2py,所以我无法评估最后一步的难度和难度。但是,我建议花一些时间(如果你有的话)来了解Qt Model-View框架,因为它可以为你节省大量的时间(至少,根据我的经验)。

相关问题