假设我有 3 个标签,每个标签都应该有不同大小的文本。检查此示例代码:
import sys
from PySide2 import QtCore, QtGui, QtWidgets
def Fonty():
ok, font = QtWidgets.QFontDialog.getFont(tableWidget)
if ok:
app.setFont(font)
tableWidget.resizeColumnsToContents()
tableWidget.resizeRowsToContents()
app = QtWidgets.QApplication(sys.argv)
tableWidget = QtWidgets.QTableWidget()
tableWidget.setColumnCount(4)
tableWidget.setRowCount(1)
for x in range(3):
label = QtWidgets.QLabel(tableWidget)
font = QtGui.QFont()
size = 8 + (x * 2)
font.setPointSize(size)
label.setFont(font)
label.setText("Testing")
tableWidget.setCellWidget(0, x, label)
tableWidget.resizeColumnsToContents()
pushButton = QtWidgets.QPushButton()
pushButton.setText("Fonts")
pushButton.clicked.connect(Fonty)
tableWidget.setCellWidget(0, 3, pushButton)
tableWidget.resizeColumnsToContents()
tableWidget.show()
sys.exit(app.exec_())
标有“字体”的按钮将打开一个标准的 Qt 字体对话框。当我运行它时,我可以看到当我通过对话框更改字体大小时,表格的标题和按钮中的文本会改变大小。但是具有固定字体大小的标签不会改变。如果我希望它们随着字体大小的变化而改变大小怎么办?如何“缩放”这些小部件的字体大小?