Python图形界面开发(一)——pyside入门

目录

前言

如果用 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_()

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值