【问题标题】:QToolButton - Text on top of iconQToolButton - 图标顶部的文本
【发布时间】:2016-03-15 19:59:20
【问题描述】:

在论坛上搜索了很多..但找不到合理的东西。 我有一个 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)

有没有办法使用样式表来偏移文本? 任何帮助表示赞赏

【问题讨论】:

  • 有什么理由不只是使用 QPushButton?
  • 由于菜单功能和图标状态模式
  • 延迟弹出,菜单指示器

标签: qt pyside


【解决方案1】:

找到了一个很好的解决方案!

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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2020-11-26
    • 2020-10-25
    • 2015-04-15
    • 1970-01-01
    • 2012-08-05
    相关资源
    最近更新 更多