Python 为PySide和web2py编写
背景:我有一个用Python27x编写的桌面应用程序,用于用户界面和从服务中检索打开的数据,并以有意义的方式将数据呈现给用户 我目前正在使用重新编写我的应用程序。我非常确定我可以用Python 为PySide和web2py编写,python,pyside,web2py,reusability,Python,Pyside,Web2py,Reusability,背景:我有一个用Python27x编写的桌面应用程序,用于用户界面和从服务中检索打开的数据,并以有意义的方式将数据呈现给用户 我目前正在使用重新编写我的应用程序。我非常确定我可以用HTML5呈现我的数据糖果,我最终希望使用和JavaScript提供一个web应用程序 PySide和web2py版本都需要支持: 在我为处理服务的公平使用策略而创建的节流对象上获取锁 使用链接或按钮在表中显示分析的数据,以检索或加载更多相关数据 显示相关数据列表,并将鼠标悬停在组中任何成员的上方突出显示项目组 显示
HTML5
呈现我的数据糖果,我最终希望使用和JavaScript
提供一个web应用程序
PySide
和web2py
版本都需要支持:
- 在我为处理服务的公平使用策略而创建的
对象上获取锁节流
- 使用链接或按钮在表中显示分析的数据,以检索或加载更多相关数据
- 显示相关数据列表,并将鼠标悬停在组中任何成员的上方突出显示项目组
- 显示文本文档,并使用自动搜索/突出显示关键字/词性标记
- 提供各种数据统计的基本图表
问题:鉴于我已经告诉过你我的应用程序,并且假设
web2py
和HTML5
能够满足我的用户界面/演示需求,我应该采取哪些步骤/小部件来制作我的PySide
桌面应用程序,以便在移植到web2py
时最大限度地重复使用?在编写桌面版本时,我应该确保避免什么?在我看来,您可能考虑过度了
基本上,您将有两种向最终用户呈现数据的方法
1) 通过GUI
2) 通过你的HTML5糖果
毫无疑问,限制因素将是web2py/HTML5在呈现数据方面的任何限制(如果有的话)
如果我正在编写这样一个应用程序,它使用PySide和web2py来显示相同的数据,但使用它们各自的方法(gui、web),我可能希望抽象要显示的数据,以便您可以将相同的流提供给gui函数或web函数,每个人都接受了这一点,并使用各自的方法呈现数据
我能想到的另一种选择是在GUI演示文稿中嵌入web视图。也许你可以省去很多关于使用/避免哪些小部件的顾虑,只需在嵌入式web视图中使用html5糖果?在我看来,你可能想得太多了 基本上,您将有两种向最终用户呈现数据的方法 1) 通过GUI 2) 通过你的HTML5糖果 毫无疑问,限制因素将是web2py/HTML5在呈现数据方面的任何限制(如果有的话) 如果我正在编写这样一个应用程序,它使用PySide和web2py来显示相同的数据,但使用它们各自的方法(gui、web),我可能希望抽象要显示的数据,以便您可以将相同的流提供给gui函数或web函数,每个人都接受了这一点,并使用各自的方法呈现数据
我能想到的另一种选择是在GUI演示文稿中嵌入web视图。也许你可以省去很多关于使用/避免哪些小部件的顾虑,只需在嵌入式web视图中使用html5糖果?你需要将数据和数据处理与用户界面分开。Qt(以及PySide)非常关注这种模型视图方法(参见示例),并提供了组织数据的模型和表示数据的视图。在Qt中,这种方法允许在同一数据集上轻松使用多个视图,而不必担心如何在视图中获取数据 诚然,Qt模型需要一些时间来适应,但是前面提到的教程应该为您提供一些指导和参考,让您开始学习。在您的情况下,我将采用以下方法:
- 找到/扩展合适的Qt模型来管理数据
- 在PySide应用程序中,将此数据与标准/自定义视图一起使用
- 开发基于web2py的视图,以在webapp中显示数据
我不熟悉web2py,所以我无法评估最后一步有多难/容易。但是,我建议您花一些时间(如果您有时间的话)了解Qt Model View框架,因为它可以在将来为您节省大量时间(至少在我的经验中是这样)。您需要将数据和数据处理与用户界面分开。Qt(以及PySide)非常关注这种模型视图方法(参见示例),并提供了组织数据的模型和表示数据的视图。在Qt中,这种方法允许在同一数据集上轻松使用多个视图,而不必担心如何在视图中获取数据 诚然,Qt模型需要一些时间来适应,但是前面提到的教程应该为您提供一些指导和参考,让您开始学习。在您的情况下,我将采用以下方法:
- 找到/扩展合适的Qt模型来管理数据
- 在PySide应用程序中,将此数据与标准/自定义视图一起使用
- 开发基于web2py的视图,以在webapp中显示数据
我不熟悉web2py,所以我无法评估最后一步有多难/容易。但是,我可以建议您花一些时间(如果您有时间的话)了解Qt Model View框架,因为它可以在将来为您节省大量时间(至少在我的经验中)。谢谢。我之所以发布这个问题,主要是因为我从未做过任何严肃的网络编程,我想避免在最终尝试移植代码时感到意外。顺便说一句,谢谢你让我进入web2py。信不信由你,直到现在我才知道它的存在;)谢谢我之所以发布这个问题,主要是因为我从未做过任何严肃的网络编程,我希望在最终尝试移植代码时避免令人讨厌的惊讶