【PyQt5】Qt Designer设计GUI界面之QFont设置字体

这个博客展示了如何使用Python的PyQt5库创建一个窗口应用程序,并详细说明了如何设置字体的样式,包括字体类型、加粗、斜体、删除线和下划线,以及调整字体大小。通过实例代码,演示了如何实现这些功能并展示文本内容。
部署运行你感兴趣的模型镜像
 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget,QLabel
 3 from PyQt5.QtGui import QFont
 4 from PyQt5 import QtCore
 5 
 6 class MainWindow(QWidget):
 7     def __init__(self):
 8         super(Demo, self).__init__()
 9         self.label = QLabel('hello world',self)
10         #self.label.setFont(QFont("华文琥珀",20,QFont.Bold))  #设置字体、样式和大小
11         #QFont.Bold  加粗
12 
13         #self.label.setStyleSheet("color:white") #文本颜色(前景色)
14         
15         #self.label.setStyleSheet("background-color: #000000;color: #ffffff") #设置背景色和前景色
16         #self.label.setGeometry(QtCore.QRect(20, 60, 291, 61))  #设置控件的位置和大小
17
18
19 
20         #分开设置
21         font = QFont()   #实例化字体对象
22         font.setFamily('微软雅黑')  #字体
23         font.setBold(True)  #加粗
24         font.setItalic(True)    #斜体
25         font.setStrikeOut(True)  #删除线
26         font.setUnderline(True)   #下划线
27         font.setPointSize(23)   #字体大小
28         self.label.setFont(font)
29
30 
31 #主程序
33 if __name__ == '__main__':
34     app = QApplication(sys.argv)
35     mainwindow = MainWindow()
36     mainwindow.show()
37     sys.exit(app.exec_())

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

PyQt5 中,`QPainter` 是实现绘图功能的核心类之一,通常用于在窗口或控件上绘制文本、图形、图像等元素。若希望在使用 Qt Designer 创建的 `QWidget` 中添加 `QPainter` 的绘图功能,可以通过重写 `paintEvent` 方法并在其中执行绘图操作来实现。 ### 重写 paintEvent 方法 所有基于 `QPainter` 的绘图操作必须在 `paintEvent` 事件中进行。在自定义的 `QWidget` 子类中,需要重写该方法,并在其中创建 `QPainter` 实例,调用相关绘图方法,例如 `drawText`、`drawLine` 等。 ```python from PyQt5.QtWidgets import QWidget from PyQt5.QtGui import QPainter, QColor, QFont from PyQt5.QtCore import Qt class CustomPaintWidget(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QPainter 绘图示例") self.resize(400, 300) self.text = "使用 QPainter 绘制的文本" def paintEvent(self, event): painter = QPainter(self) painter.begin(self) # 设置画笔颜色和字体 painter.setPen(QColor(128, 0, 128)) painter.setFont(QFont("SimHei", 20)) # 在窗口中央绘制文本 painter.drawText(event.rect(), Qt.AlignCenter, self.text) painter.end() ``` ### 在 Qt Designer 中结合自定义绘图功能 如果使用 Qt Designer 创建了 `.ui` 文件,并希望在其中嵌入绘图功能,则可以通过继承 `QWidget` 并手动实现绘图逻辑。具体做法是将设计好的 `.ui` 文件加载到自定义类中,并在其 `paintEvent` 方法中添加绘图代码。 ```python from PyQt5 import uic from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtGui import QPainter, QColor, QFont from PyQt5.QtCore import Qt class CustomUiWidget(QWidget): def __init__(self): super().__init__() uic.loadUi("mydesign.ui", self) # 加载 Qt Designer 设计界面 self.text = "来自 Qt Designer 的绘图区域" def paintEvent(self, event): painter = QPainter(self) painter.begin(self) painter.setPen(QColor(0, 128, 0)) painter.setFont(QFont("SimSun", 18)) painter.drawText(event.rect(), Qt.AlignCenter, self.text) painter.end() ``` ### 使用 QPainter 绘图的关键点 - `QPainter` 的绘图流程必须由 `begin()` 和 `end()` 包裹,确保绘图上下文的正确初始化和释放。 - 所有绘图操作应集中在 `paintEvent` 中执行,避免在其他事件中直接调用绘图方法。 - `QPen` 用于控制线条颜色和样式,`QBrush` 用于填充图形区域,`QFont` 用于设置文本字体[^2]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值