一直在搜索论坛..但是找不到合理的东西。 我有一个QToolButton和一个图标。我不想将文本烘焙到图标图像中,我宁愿使用btn.setText(" Text")来创建文本。 问题是文本设置在我不想要的图标下面。 它应该在图标的顶部。有没有办法做到这一点? 我想有一个自定义的QToolButton ..有人可以帮助我吗?
btn = QtGui.QToolButton()
btn.setText("Text")
icon = QtGui.QIcon()
icon.addPixmap(os.path.join('path_to_icon.png', QtGui.QIcon.Normal, QtGui.QIcon.On)
btn.setIcon(icon)
理想地:
icon.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnTopIcon)
有没有办法使用样式表来偏移文本? 任何帮助表示赞赏
答案 0 :(得分:0)
找到了一个好的工作解决方案!
b = QtGui.QToolButton()
l = QtGui.QVBoxLayout(b)
b.setFixedSize(50, 50)
b.setIconSize(QtCore.QSize(50,50))
standardFont = QtGui.QFont("Arial", 10, QtGui.QFont.Bold)
standardFont.setCapitalization(QtGui.QFont.AllUppercase)
text = QtGui.QLabel("Text")
b.setIcon(QtGui.QIcon(os.path.join(ICON_DIR, 'csLighting_ftrackTime.png')))
l.setContentsMargins(0,0,0,0)
l.addStretch()
l.addWidget(text, 0, QtCore.Qt.AlignCenter)
text.setFont(standardFont)
b.show()