当前位置:嗨网首页>书籍在线阅读

06-PyQt还是PySide

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

[toc]

5.3.1 PyQt还是PySide

Qt框架有两种可以使用的Python库,分别是 PyQtPySidePyQt 最初于1998年发布,但在用于商业项目时需要购买许可。由于该原因,开发Qt的公司(原先是诺基亚,现在是Digia)后来在2009年开发了另一个Python库 PySide ,并且使用了更加宽松的LGPL许可。

虽然这两个库有少许区别,但是本章中的例子在两个库中都能够正常工作。下面的代码片段用于导入已安装的任何一种Qt库。

try:
    from PySide.QtGui import *
    from PySide.QtCore import *
    from PySide.QtWebKit import *
except ImportError:
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
    from PyQt4.QtWebKit import *

在这段代码中,如果 PySide 不可用,则会抛出 ImportError 异常,然后导入 PyQt 模块。如果 PyQt 模块也不可用,则会抛出另一个 ImportError 异常,然后退出脚本。

下载和安装这两种Qt库Python版本的说明可以分别参考网上的相应介绍。对于你正在使用的Python 3的版本,可能存在没有对应库的情况,不过其发布很频繁,因此你可以经常回来查看一下。

1.使用Qt进行调试

无论你使用的是PySide还是PyQt,可能都会遇到需要调试应用或脚本的网站。我们已经介绍了一种方式可以实现该目的,就是通过使用 QWebView 这个GUI的 show() 方法来“查看”你加载的页面上渲染了什么。你也可以使用 page().mainFrame().toHtml() 链(在任何时刻使用 BrowserRender 类通过 html 方法拉取HTML时均可以很容易地引用),将其写入文件中保存下来,然后在浏览器中打开。

此外,还有一些有用的Python调试器,比如 pdb ,你可以将它集成到脚本中,然后使用断点单步执行可能存在错误、问题或bug的代码。针对不同库和你安装的Qt版本的不同,有一些不同的设置方式,因此我们建议搜索你的确切设置,并复查实现,以允许设置断点或跟踪。