《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情




PyQt模块

阅读:244700336    分享到

PyQt 是用来编写有图形界面程序的一个工具包。它是 Python 编程语言非常成功的 Qt 库,Qt 库是迄今为止最强大的 GUI 库之一。PyQt 作为一个 Python 模块来使用,它有 620 个类和超过 6000 种函数和方法。同时它也是一个可以在几乎所有主流操作系统(如 Unix,windows,Mac OS)上运行的跨平台的工具包。PyQt 的类库可分为以下模块:QtCore,QtGui,QtNetwork,QtXml,QtOpenGL,QtSql 等等。

PyQt 安装和配置

PyQt 目前最流行的有两个版本:PyQt4 和 PyQt5。注意:PyQt4 支持 Python 2,PyQt5 支持 Python 3,所以,我们在此是用 PyQt5。

我们应该养成一个良好的习惯,把 PyQt5 安装到虚拟环境下(参考如何使用虚拟环境),虚拟环境创建成功后,然后在虚拟环境下使用如下命令安装 PyQt5。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5

PyQt5 安装成功后,我们创建一个项目,然后给项目关联上虚拟环境下的 python 解释器,关联方法参考(在 Pycharm 中给项目关联 Python 解释器

最后我们验证 PyQt 是否成功安装在我们的虚拟环境下,在项目下创建一个 py 文件,输入 import PyQt5,然后运行该项目,如果没有报错,说明 PyQt 已经成功安装,如下图。

第一个界面程序

我们基于 PyQt 库写一个窗口,让该窗口可以改变大小,最大化,最小化,关闭等等。

import sys
from PyQt5.QtWidgets import QApplication, QWidget

def myWidget():
    # 每一 pyqt5 应用程序必须创建一个应用程序对象。sys.argv 参数是一个列表,从命令行输入参数。
    app = QApplication(sys.argv)

    # 我们创建一个基于 QWidget 的部件(该部件类似对话框)。。
    w = QWidget()

    # 调整窗口的大小。这离是 800 px宽,500px高
    w.resize(800, 500)

    # move()方法移动窗口在屏幕上的位置到 x=600,y=200 坐标。
    w.move(600, 200)

    # 设置窗口的标题
    w.setWindowTitle('第一个界面程序')

    # 显示 QWidget 部件
    w.show()

    '''
    app.exec_() 里面是一个死循环,也叫作消息循环,任何界面程序都使用的一种技术
    在该消息循环里,QWidget 部件就可以接受和处理消息了(比如最大化窗口,拖动窗口等等)
    '''
    app.exec_()

myWidget()

执行以上代码,我们就可以看到第一个界面程序了,如下图。

本节课,我们写出了第一个带界面的程序,稍微体验一下第一次的快乐,下节课,我们继续学习如何使用 PyQt 编写更丰富的界面程序。

本节重要知识点

会在虚拟环境下安装 PyQt,并且在 Pycharm 中把项目配置好虚拟环境。

写出上面带界面的程序,并运行成功。

作业

编写 PyQt 的界面程序,并且从命令行下启动,启动的时候,传入参数“老鸟python”。提示:sys.argv 就是启动界面程序传入的参数。


如果以上内容对您有帮助,请老板用微信扫一下赞赏码,赞赏后加微信号 birdpython 领取免费视频。


登录后评论

user_image
江振雄
2020年8月3日 18:58 回复

前辈,可以在csdn上转载吗?


user_image
巩朋
2020年4月19日 00:39 回复

除了tkinter其他都没用过,但是已经准备放弃了它了。tkinter上手挺简单,国内有一些初级中文教程做的不错,想更实现更复杂的还是得看官方文档,但官方文档太TM不友好了,很杂,其中某个文档研究了一个钟头愣是没研究透,因为都不举例的,甚至连语法都不给,就直接告诉每个参数有什么用,简直崩溃。。。后来又看到评论区这么多人推荐pyqt,抱着试试看的态度去查文档,还是一头雾水,很多文档都是4.X的版本,现在都5.1了,pyqt中文网社区推荐的链接失效了很多,而且文档也特别简单,连个import都不写,完全无从下手。。。。看了博主的教程,给例子,心中暖暖的,就看这个了


user_image
holic红尘
2020年3月25日 09:40 回复

c++版qt和pyqt是同一个公司的吗?


user_image
老鸟python
2020年11月30日 04:18

你说的pyqt它里面的库就是 qt,pyqt只是一个含有 qt库的模块,他的核心是qt,qt不但是跨平台而且还是跨语言的。


user_image
小 坤
2019年12月25日 16:33 回复

PyQt好评!


user_image
搬砖码农
2019年8月8日 11:21 回复

只用过tkinter


user_image
萝卜包
2019年4月15日 21:48 回复

刚学tkinter,确实有点儿简陋。。


user_image
大熊宝贝
2019年4月4日 15:24 回复

在用PYQT5.6,但是官方文档,对应的都是C++的代码,有点小奔溃