You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改PyQt5表单布局中标签角色的字体为Courier?

解决PyQt5表单布局标签字体问题

你遇到的核心问题是:调用addRow传入字符串参数时,PyQt会自动生成使用默认字体的QLabel,这个自动创建的标签不会继承输入框的字体设置。下面提供两个简便的解决办法:

方法一:手动创建标签并设置字体

显式创建QLabel控件,配置好字体后再添加到表单布局,能精准控制每个标签的样式:

from PyQt5 import QtWidgets, QtGui

# 保留原有输入框代码,修改addRow部分
self.vertical.addLayout(self.form)
self.user_name = QtWidgets.QLineEdit(self)
self.user_name.setFont(QtGui.QFont('Courier', 15))
self.password = QtWidgets.QLineEdit(self)
self.password.setFont(QtGui.QFont('Courier', 15))

# 手动创建标签并设置Courier字体
username_label = QtWidgets.QLabel('username', self)
username_label.setFont(QtGui.QFont('Courier', 15))
password_label = QtWidgets.QLabel('password', self)
password_label.setFont(QtGui.QFont('Courier', 15))

# 将标签和输入框配对添加到表单布局
self.form.addRow(username_label, self.user_name)
self.form.addRow(password_label, self.password)

方法二:全局设置应用程序字体

如果希望整个窗口的所有文本都统一使用Courier字体,更省事的方式是给整个QApplication设置全局字体,这样所有控件(包括自动生成的标签)都会自动应用该字体:

import sys
from PyQt5 import QtWidgets, QtGui

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    # 全局设置Courier字体,字号15
    app.setFont(QtGui.QFont('Courier', 15))
    
    # 初始化并显示你的主窗口
    window = YourMainWindowClass()
    window.show()
    sys.exit(app.exec_())

使用这个方法后,你可以直接去掉给QLineEdit单独设置字体的代码,全局字体已经覆盖所有控件的默认样式。

内容的提问来源于stack exchange,提问作者dz1981-bit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 14:34:53