【发布时间】:2020-09-06 18:22:40
【问题描述】:
我通过 API 获取玩家的当前位置,我希望标签根据我要放入标签的文本长度调整其字体大小。
例如字符串“Bedwars 4v4v4v4”很合适:
但字符串“Beast vs. Hunters Insane”被切断了:
到目前为止,这是我的代码:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(893, 492)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../../technostalk icon.jpg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setAccessibleName("")
MainWindow.setStyleSheet(
"QMainWindow{\n"
"background-color: rgb(54, 57, 63);\n"
"}"
)
MainWindow.setUnifiedTitleAndToolBarOnMac(False)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(10, 10, 131, 91))
self.groupBox.setStyleSheet("QGroupBox{\n"
"\n"
"border: 1px solid rgb(32, 34, 37);\n"
"color: rgb(249, 249, 255);\n"
"margin-top: 0.5em;\n"
"}\n"
"\n"
"QGroupBox::title {\n"
"subcontrol-origin: margin;\n"
"left: 10px;\n"
"padding: 0 3px 0 3px;\n"
"}"
)
self.groupBox.setObjectName("groupBox")
self.label = QtWidgets.QLabel(self.groupBox)
self.label.setGeometry(QtCore.QRect(10, 10, 171, 51))
self.label.setStyleSheet(
"QLabel{\n"
"color: rgb(0, 255, 0);\n"
"}"
)
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.groupBox)
self.label_2.setGeometry(QtCore.QRect(10, 60, 101, 16))
self.label_2.setStyleSheet("QLabel{\n"
"color: rgb(255, 255, 255);\n"
"}"
)
self.label_2.setObjectName("label_2")
self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_2.setGeometry(QtCore.QRect(150, 10, 221, 91))
self.groupBox_2.setStyleSheet(
"QGroupBox{\n"
"\n"
"border: 1px solid rgb(32, 34, 37);\n"
"color: rgb(249, 249, 255);\n"
"margin-top: 0.5em;\n"
"}\n"
"\n"
"QGroupBox::title {\n"
"subcontrol-origin: margin;\n"
"left: 10px;\n"
"padding: 0 3px 0 3px;\n"
"}"
)
self.groupBox_2.setObjectName("groupBox_2")
self.label_3 = QtWidgets.QLabel(self.groupBox_2)
self.label_3.setGeometry(QtCore.QRect(10, 10, 211, 51))
self.label_3.setStyleSheet(
"QLabel{\n"
"\n"
"color: rgb(255, 255, 255);\n"
"\n"
"}"
)
self.label_3.setObjectName("label_3")
self.label_4 = QtWidgets.QLabel(self.groupBox_2)
self.label_4.setGeometry(QtCore.QRect(10, 60, 181, 16))
self.label_4.setStyleSheet(
"QLabel{\n"
"color: rgb(255, 255, 255);\n"
"}"
)
self.label_4.setObjectName("label_4")
MainWindow.setCentralWidget(self.centralwidget)
【问题讨论】:
-
您确定要更改字体大小吗?因为如果问题是标签没有完全显示,我相信它是,那么你的问题是你没有使用layout manager。通常不鼓励动态更改字体大小以适应特定大小,因为它非常慢,可能会产生递归,而且通常是出于错误的原因。
-
标签没有完全显示,因为分组框,我想要字体大小比例,以便所有内容都适合标签(或分组框)的边界