一、Pyqt窗口程序
1. 第一个PyQt窗口
from PyQt5.QtWidgets import QApplication,QWidget
import sys
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
执行代码,就会显示PyQt窗口:
2. PyQt模块简介
PyQt中有非常多的功能模块,开发中最常用的功能模块主要有三个:
- QtCore:包含了核心的非GUI的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime类文件、进程与线程一起使用
- QtGui:包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类
- QtWidgets:包含了一些列创建桌面应用的UI元素
PyQt的其它模块
- QtMultimedia:负责处理多媒体的内容和调用摄像头
- QtBluetooth:负责查找和连接蓝牙
- QtNetwork:负责网络编程
- QtPositioning:负责定位相关
- Enginio:包含了通过客户端进入和管理Qt Cloud
- QtWebSockets:实现了WebSocket协议
- QtWebKit:包含了一个基WebKit2的web浏览器QtWebKitWidgets:包含了基于QtWidgets的WebKit1的类
- QtXml:负责处理xm
- QtSvg:负责显示SVG内容
- QtSql:提供了处理数据库的工具。
- QtTest:提供了测试PyQt5应用的工具
3. 窗口标题和图标
应用程序图标是一个小的图像,通常在标题栏的左上角显示。
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5.QtGui import QIcon
import sys
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 设置窗口标题
w.setWindowTitle('黑马窗口')
# 设置窗口尺寸
w.resize(400, 300)
# 设置图标
w.setWindowIcon(QIcon('qq.png'))
w.setToolTip('这个一个气泡提示')
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
运行程序:
二、PyQt文本和图片
1. 文本控件
文本控件是QLabel
from PyQt5.QtWidgets import QWidget, QApplication, QLabel
import sys
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('文本展示')
# -----------------------------------------------start
label = QLabel()
label.setText('第一个文本')
# 将文本控件添加到窗口中
label.setParent(w)
# -----------------------------------------------end
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
运行程序:
2. 图片控件
QLabel 控件既可以显示文本,也可以显示图片
from PyQt5.QtWidgets import QWidget, QApplication, QLabel
from PyQt5.QtGui import QPixmap
import sys
def init_widget(w: QWidget):
# 修改窗口标题
w.setWindowTitle('图片展示')
"""------------------ 展示图片 ------------------"""
label = QLabel()
pixmap = QPixmap('img.png')
label.setPixmap(pixmap)
# 显示到窗口中
label.setParent(w)
# 改变窗口大小
w.resize(pixmap.width(), pixmap.height())
if __name__ == '__main__':
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
init_widget(w)
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
运行程序:
三、PyQt输入框
1. 单行文本输入框
QLineEdit控件可以输入单行文本
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys
def init_widget(w: QWidget):
# 修改窗口标题
w.setWindowTitle('单行输入框')
# 设置窗口大小
w.resize(480, 320)
layout = QVBoxLayout()
"""------------------ 展示单行输入框 ------------------"""
edit = QLineEdit()
# 设置输入框提示
edit.setPlaceholderText('请输入用户名')
# 设置文本
edit.setText('张三')
# 获取单选框的文字
text = edit.text()
print(text)
# 设置输入框最大字符数
edit.setMaxLength(10)
layout.addWidget(edit)
edit3 = QLineEdit("Password")
edit3.setPlaceholderText('请输入密码')
edit3.setEchoMode(QLineEdit.Password)
layout.addWidget(edit3)
w.setLayout(layout)
if __name__ == '__main__':
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
init_widget(w)
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
运行程序:
QLineEdit的方法
方法 | 说明 |
|
|
| 设置文本框浮显文字 |
| 设置文本框内容 |
| 设置文本框所允许输入的最大字符数 |
2. 多行文本输入框
QTextEdit
控件用来输入多行文本
from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('多行输入框')
"""------------------ 多行输入框 ------------------"""
edit = QTextEdit()
# 设置提示内容
edit.setPlaceholderText('请输入发表的内容')
# 设置文本内容
edit.setPlainText('武汉疫情')
# 获取输入的内容
print(edit.toPlainText())
edit.clear()
# 显示多行输入框
edit.setParent(w)
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
运行程序:
QTextEdit的方法
方法 | 说明 |
| 设置多行文本框的文本内容 |
| 返回多行文本框的文本内容 |
| 设置多行文本框的内容为HTML文档 |
| 返回多行文本框的HTML文档内容 |
| 清空多行文本框的内容 |