目录

前言

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

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

安装 PySide2

安装PyQt5

案例一


前言

众所周知,我们程序的用户交互界面都是命令行终端窗口。

程序的用户交互界面,英文称之为 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 都是基于著名的 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 就行了。反之亦然。

安装 PySide2

很简单,直接执行

pip install pyside2

即可下载安装。

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

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

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

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

安装PyQt5

如果你选择PyQt5,直接执行

pip install pyqt5-tools

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

案例一

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, \QPlainTextEdit
"""
QtWidgets: 控件功能
QApplication:应用程序
QMainWindow: 主窗口
"""# 负责底层管理功能
app = QApplication()# 定义主窗口对象的属性
window = QMainWindow()
# 主窗口大小
window.resize(500, 400)
# 主窗口刚启动时在屏幕的坐标
window.move(700, 310)
window.setWindowTitle("Evans")# 参数就是指定文本输入框的父窗口
textEdit = QPlainTextEdit(window)
# 默认提示文本
textEdit.setPlaceholderText("请输入xxx")
# 相对父窗口的位置
textEdit.move(10, 25)
textEdit.resize(300, 350)button = QPushButton("发射", window)
button.move(380, 80)window.show()
# 让qt的应用程序进入事件处理死循环(等待用户操作)
app.exec_()

Python图形界面开发(一)——pyside入门相关推荐

  1. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例

    原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...

  2. python界面开发工具-python图形界面开发用什么

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助. Python 的 UI 开发工具包 Kivy(推荐学习:Python视频教 ...

  3. python图形界面开发用什么

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助. Python 的 UI 开发工具包 Kivy Kivy是一个开源工具包能够 ...

  4. Python图形界面开发教程-课程笔记-2022-2-14

    目录 1.1 写一个弹窗 1.2了解模板代码的组成 1.3 根据模板代码写一个界面 1.4 窗口关闭事件 1.5 通过字典获取返回值values 1.6 自定义主题 1.7 自定义窗口 1.8 布局和 ...

  5. Python 图形界面开发哪个库好

    Tkinter 是官方提供的图形界面开发库,用于封装Tk GUI工具包,跨平台,但是控件少,帮助文档不健全,不便于开发复杂的图形用户界面. b站小甲鱼有Tkinter的教程 PyQt 非官方提供的图形 ...

  6. python 图形界面开发

    用python来开发图形界面,确实不是很方便,没有c#,Java,甚至VB来得容易.几个控件拖拽,然后响应事件. 用python写脚本,或者web service来处理一般工作,绰绰有余. 但有的时候 ...

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

    如果用 Python 语言开发 跨平台 的图形界面的程序,主要有3种选择: Tkinter 基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库.稳定.发布程序较小 ...

  8. linux python 图形界面开发_python在linux制作图形界面(snack)

    snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块. 1.获取模块 虽然redhat系统会自带这个模块,但是直接去import snac ...

  9. Python图形界面开发——PyQt5环境的搭建(史上最详细,保证都能搭建好)

    前期准备:PyQt5以及其他组件的下载与安装 在python的图形界面开发过程中,我们需要三个组件,分别是:PyQt5.pyqt5-tools.PyQt5Designer,我们直接在命令行输入下面的代 ...

最新文章

  1. 学习AI方向大半年,为什么你还没有别人几个月更精通?
  2. Visual Studio 使用 Web Deploy 发布远程站点
  3. LightOJ 1026 桥 1063 割点
  4. 深度学习和神经网络——第二周笔记
  5. java excel自动保存_比POI好用的EasyExcel简单使用记录
  6. java怎么导出有模板的表格_java用模板导出数据表格-Go语言中文社区
  7. 如何开启jvm日志_Java 从小白到大牛,JVM 不得不知的一些参数和配置
  8. ADT版本不同导致的一个问题
  9. Shell脚本监控CPU、内存和硬盘利用率
  10. springboot宠物医院管理系统、
  11. MarkDown在线编辑器(支持公众号知乎)
  12. 获得商品详情-京东api接口
  13. 实践数据湖iceberg 第三十四课 基于数据湖icerberg的流批一体架构-流架构测试
  14. web设计字体规范_适用于Web设计人员的30种高质量免费字体
  15. 求最大公约数及求多个数的最大公约数
  16. 计算机及应用成绩表,Excel的基本应用—制作成绩表_计算机软件及应用_IT计.ppt...
  17. 积分域为椭球的三重积分的求解方式----广义的极坐标变换
  18. 【区块链 | Polygon】Polygon区块链PHP开发包-使用PHP语言开发Polygon
  19. iPhone 13如何显示电量百分比?详细教程
  20. Grads转成Netcdf

热门文章

  1. Messaging——WebSocket
  2. Using System.Messaging引用报错解决办法
  3. c语言程序中计算圆的面积,C代码:使用概率的方法计算圆的面积
  4. -markdown编辑器
  5. 一文弄懂数据结构中的红黑树、二叉树
  6. 潮光讲堂--3步搞懂光电耦合器
  7. Spring源码分析(二)BeanFactoryPostProcessor之ConfigurationClassPostProcessor的调用过程
  8. 手机如何借用笔记本网络上网
  9. Directx+CEGUI把界面集成到游戏中,支持全屏方式(c++)
  10. 安卓开发:安卓应用上架主流平台汇总