如何自定义 QPushButton 或 QToolButton 的外观,使其看起来像elementaryos 的网页“按钮”?
我真正想要的是特征图像位置和侧面的文字,也许如果我幸运的话我也可以得到这样的边框,但我真的不需要标题下面的小描述:)
我可以只使用 StyleSheets 来做到这一点,还是必须子类化 QPushButton/QAbstractButton/类似的东西?我已经到处搜索过,但没有找到那种程度的定制,而不需要像在画中画东西之类的东西。fixed地方,这正是我don't want.
编辑:
我真的想要一种解决方案,可以为我提供一个可自定义的按钮,而不是固定的图像按钮,而是可以跟踪的东西
MainWindowButton(QString(title), /*opt*/QString(description), QImage(icon));
有许多可行的方法。
您可能首先考虑尝试使用正常的解决方案QPushButton
with a QVBoxLayout
在上面。你可以添加三个QLabels
;一种用于标题文本,一种用于说明文字,一种用于图像。一些 CSS 可能用于渲染向上和向下按钮的背景图像,更多的 CSS 可以用于设置两个标签中的文本样式并将图像定位在第三个标签上,但是您会发现标签在以下情况下不会向下移动:单击该按钮。
我认为最好的解决方案是直接绘画。你可以通过子类化来做到这一点QWidget
并覆盖paintEvent()
。为向上状态渲染所有内容,并为向下状态稍微上下移动所有内容。
您可以通过将向上和向下状态渲染为QImage
并使用 CSS 为 QPushbutton 设置样式。
这些方法也有多种组合。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)