目录
一、 第一个Qt窗口
二、PyQt模块简介
三、窗口标题和气泡
setWindowTitle
resize
setToolTip
四、标签QLabel显示图片和图标
setPixmap
setWindowIcon
resize(label.pixmap().size())
五、标签QLabel显示文字
setText
QFont
setPointSize
setFont
setStyleSheet
move
一、 第一个Qt窗口
代码实现:
import sys
from PyQt5.QtWidgets import *
# 创建QApplication对象
app = QApplication(sys.argv)
# 创建QWidget对象 窗口
w = QWidget()
# 设置窗口标题
w.setWindowTitle("PyQt App")
# 显示窗口
w.show()
# 进入事件循环
sys.exit(app.exec_())
运行结果:
二、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应用的工具
三、窗口标题和气泡
示例代码:
import sys
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
w = QWidget()
# 设置标题
w.setWindowTitle("Hello World")
# 设置窗口大小
w.resize(640,480)
# 设置气泡提示
w.setToolTip("这是一个QT窗口")
# 展示
w.show()
# 退出程序
sys.exit(app.exec_())
运行结果:
说明:
setWindowTitle
setWindowTitle
是 QWidget
(以及它的子类,如 QMainWindow
、QDialog
等)的一个方法,用于设置窗口的标题。标题会显示在窗口的顶部栏中,通常包含窗口的名称或描述信息。
resize
resize
方法用于改变窗口的大小。它接受两个参数:窗口的宽度和高度,通常以像素为单位。
setToolTip
setToolTip
方法用于设置窗口的工具提示(或称为气泡提示)。当用户将鼠标悬停在窗口或窗口的某个部分上时,工具提示会显示一小段文本,用于提供有关该窗口或控件的额外信息。
四、标签QLabel显示图片和图标
示例代码:
import sys
from PyQt5.QtGui import QPixmap, QIcon
from PyQt5.QtWidgets import *
# 创建QApplication对象
app = QApplication(sys.argv)
# 创建QWidget对象 窗口
w = QWidget()
# 创建QLabel对象
label = QLabel(w)
# 设置图片路径
path = QPixmap('./res/bg.png')
# 设置图片
label.setPixmap(QPixmap(path))
# 设置窗口标题
w.setWindowTitle('贪吃蛇')
# 设置窗口大小和图片大小一致
# w.resize(path.width(), path.height())
w.resize(label.pixmap().size())
# 设置icon
w.setWindowIcon(QIcon('./res/snake_logo.png'))
# 显示窗口
w.show()
# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
setPixmap
setPixmap
是 QLabel
(或其他可以显示图像的 PyQt 控件)的一个方法,用于设置控件要显示的图像。这个方法接受一个 QPixmap
对象作为参数。
setWindowIcon
setWindowIcon
是 QWidget
(以及它的子类)的一个方法,用于设置窗口的图标。这个图标通常显示在窗口的左上角,以及当窗口最小化时显示在任务栏中。
resize(label.pixmap().size())
这行代码调整窗口的大小以匹配标签中图像的大小。label.pixmap()
返回标签当前设置的 QPixmap
对象(如果有的话),而 .size()
方法则返回这个 QPixmap
对象的大小(宽度和高度)。然后,resize
方法根据这个大小来调整窗口的大小。
五、标签QLabel显示文字
示例代码:
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
# 创建QApplication对象
app = QApplication(sys.argv)
# 创建QWidget对象 窗口
w = QWidget()
# 创建QLabel对象
label = QLabel(w)
# 设置label显示文字
label.setText("Hello World!")
# 设置label显示文字的字体
font = QFont()
font.setPointSize(20)
label.setFont(font)
# 设置label显示文字的颜色
label.setStyleSheet("color:red")
# 设置label显示文字的位置
label.move(100, 100)
# 设置窗口大小
w.resize(400, 300)
# 显示窗口
w.show()
# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
setText
setText方法用于设置 QLabel
控件的文本内容。在这个例子中,它将 label
控件的文本设置为 "Hello World!"。这意味着当控件被渲染时,用户将看到 "Hello World!" 这段文字。
QFont
QFont是 PyQt 中用于描述字体属性的类。这行代码创建了一个新的 QFont
对象,这个对象将用于后续设置字体样式和属性。
setPointSize
setPointSize方法用于设置 QFont
对象的点大小,即字体的大小。在这里,字体大小被设置为 20 点。点大小是字体大小的一个度量单位,通常用于描述字体在屏幕或打印输出上的大小。
setFont
setFont方法用于将之前创建的 QFont
对象应用到 label
控件上。这意味着 label
控件将使用指定的字体样式(包括字体大小、字体类型等)来显示文本。
setStyleSheet
setStyleSheet方法用于设置控件的样式表。样式表允许开发者使用类似于 CSS 的语法来定义控件的外观。在这个例子中,样式表将 label
控件中文本的颜色设置为红色。这意味着 "Hello World!" 这段文字将以红色显示。
move
move方法用于移动 QLabel
控件(或任何 QWidget
及其子类)到其父控件或窗口中的指定位置。它接受两个参数:x 坐标和 y 坐标,这两个参数定义了控件左上角相对于其父控件或窗口的位置。在这个例子中,label
控件被移动到 (100, 100) 的位置,这意味着控件的左上角将位于其父控件或窗口的 (100, 100) 坐标处。