zoukankan      html  css  js  c++  java
  • Python Qt 简介

    Python图形界面开发的几种方案

    前面的教程中,我们程序的用户交互界面都是命令行终端窗口。

    程序的用户交互界面,英文称之为 UI (user interface)

    当一个应用的 UI 比较复杂的时候,命令行方式就不便用户使用了,这时我们需要图形界面。

    如果用 Python 语言开发 跨平台 的图形界面的程序,主要有3种选择:

    • Tkinter

      基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。

    • wxPython

      基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。

    • PySide2、PyQt5

      基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。

      缺点是 库比较大,发布出来的程序比较大。


    白月黑羽的建议是,如果大家要开发小工具,界面比较简单,可以采用Tkinter。

    如果是发布功能比较多的正式产品,采用 基于Qt的PySide2、PyQt5。

    本教程介绍的就是 使用 PySide2、PyQt5 开发Python程序的图形界面。


    PySide2、PyQt5 简介

    PySide2、PyQt5 都是基于著名的 Qt 库。

    Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。

    但是 PySide2、PyQt5 这两者有什么区别呢?

    可以形象地这样说: PySide2 是Qt的 亲儿子 , PyQt5 是Qt还没有亲儿子之前的收的 义子 (Riverbank Computing这个公司开发的)。

    那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?

    原因很简单:PySide2 这亲儿子最近(2018年7月)才出生。

    但是亲儿子毕竟是亲儿子,Qt准备大力培养,PySide2 或许更有前途。

    已经在使用 PyQt5 的朋友不要皱眉, 两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。

    如果你的程序是PyQt5开发的,通常只要略作修改,比如把导入的名字从 PyQt5 换成 PySide2 就行了。反之亦然。

    注意:必须先具备Python基础知识,才可以学习本教程。还没有Python基础的朋友,可以直接学习本网站的Python基础教程。

    安装 PySide2

    很简单,直接执行

    pip install pyside2
    

    即可下载安装。

    这个库比较大,大概有100M左右,大家耐心等待。

    有的朋友,网络比较慢,可以指定国内的安装源,下载安装。

    比如,使用豆瓣源下载安装:

    pip install pyside2 -i https://pypi.douban.com/simple/
    

    建议:如果你的程序要发布给客户使用,建议使用32位的Python解释器,这样打包发布的exe程序可以兼容32位的Windows

    注意:

    Qt 官方网站声明了: Windows上 Python 3.8.0 调用 Qt 5.14 , 会有问题。

    有类似下面这样的导入错误

    ImportError: Dll load failed while importing shiboken2: 找不到指定的程序
    

    所以, 就是不能用 Python 3.8.0 ,请使用3.8.1或者以后的版本, Python 3.7 也可以。

    安装PyQt5

    如果你选择PyQt5,直接执行

    pip install pyqt5-tools
    

    即可同时安装 PyQt5 和 一些重要的工具,比如 Qt designer。

    天道酬勤 循序渐进 技压群雄
  • 相关阅读:
    高德地图
    微信小程序蓝牙
    微信小程序请求封装
    create-react-app配置less
    浏览器渲染原理及流程
    输入网址到呈现网页发生的过程
    cookie的理解
    浏览器本地存储
    cookie,localStorage,sessionStorage区别
    关于this指向
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/14750871.html
Copyright © 2011-2022 走看看