PyQt5入门1——PyQt5的安装与Hello World应用
- 学习前言
- 简介(From 百度百科)
- 安装
- Hello World
- 1、窗口构建
- a、构建基础类
- b、编写UI
- 2、主程序运行
- 全部代码
学习前言
搞搞可视化界面哈,虽然不一定有用,但是搞一下。
简介(From 百度百科)
PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。
PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。
安装
PyQt5使用pip安装即可,不太推荐使用其它的方式安装。
使用pip会自动根据你的Python版本来选择合适的 PyQt5 版本,如果是手动下载源码安装很容易出错,pip安装方便快速哈。
由于在国内,使用国内镜像也快一些。
pip3 install PyQt5 -i https://pypi.douban.com/simple
如果anaconda有对应的虚拟环境,需要首先激活虚拟环境再进行安装,Ubuntu下也是如此。
Hello World
我们创建一个像这样的简单界面,标题是Hello World!内容也是。
1、窗口构建
a、构建基础类
QWidget类是所有用户界面对象的基类。
窗口构建需要基于QWidget类,我们将它作为父类继承下来,重写其__init__方法,在__init__方法中调用初始化UI的函数。
class Example(QWidget):
def __init__(self):
QWidget.__init__(self)
#-----------------------------#
# 界面显示相关内容
#-----------------------------#
self.initUI()
def initUI(self):
pass
b、编写UI
上一步并未完成UI编写,我们在这里创建一个简单的UI,一个是标题上的Hello World,一个是PyQt5中的Hello World。
在PyQt5中,使用self.setWindowTitle
可以设置UI的标题。
另外,我们可以导入QTextBrowser
来写文本,使用.move方法移动文本,使用.resize缩放窗口,具体可参考下方:
def initUI(self):
#-----------------------------#
# 初始化标题,界面大小
#-----------------------------#
self.resize(640, 480)
self.setWindowTitle('Hello World!')
#-----------------------------#
# 写一段话
# 放到10,10
# 拉伸长度为620,200
#-----------------------------#
self.text_browser = QTextBrowser(self)
self.text_browser.move(10,10)
self.text_browser.resize(620,200)
self.text_browser.setText("Hello World again!")
2、主程序运行
这个是调用上述创建的Example,细节不必纠结,只需要知道这样便可以调用PyQt5即可。
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
全部代码
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QTextBrowser)
class Example(QWidget):
def __init__(self):
QWidget.__init__(self)
#-----------------------------#
# 界面显示相关内容
#-----------------------------#
self.initUI()
def initUI(self):
#-----------------------------#
# 初始化标题,界面大小
#-----------------------------#
self.resize(640, 480)
self.setWindowTitle('Hello World!')
#-----------------------------#
# 写一段话
# 放到10,10
# 拉伸长度为620,200
#-----------------------------#
self.text_browser = QTextBrowser(self)
self.text_browser.move(10,10)
self.text_browser.resize(620,200)
self.text_browser.setText("Hello World again!")
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())