【问题标题】:QPushbutton place image , 2 Labels on top of it in QT?QPushbutton 在 QT 中放置图像,2 个标签?
【发布时间】:2025-12-09 15:45:02
【问题描述】:

如何在 QPushButton 上放置一个图像、2 个标签?

我的要求是我想要一个按钮,其中一个图像应该放在左侧,文本应该在图像之后,在按钮末尾再有一个文本?

目前我正在使用下面的代码,它允许我将图像放在左侧,但文本位于中间,我无法在按钮末尾设置文本。

b1->setStyleSheet(
                                "background-image: url(:/user.gif);"
                                "background-repeat:no-repeat;"
                                "background-attachment:fixed;"
                                "background-position:left top;"
                                "border-style: outset;"
                                "background-color : black;"
                                "border-width: 2px;"
                                "border-radius: 10px;"
                                "border-color: black;"
                                "font: bold 16px;"
                                "color: black;"
                                "min-width: 400px;"
                                "min-height: 0.75em;"
                                "margin: 0 1px 0 1px;"
                                "color:rgb(255,255,255);"
                                "padding: 6px;"
                                );

【问题讨论】:

    标签: qt


    【解决方案1】:

    您可以创建一个按钮,使其没有图标或文本,然后为其添加布局。您可以根据需要将小部件添加到布局中。唯一需要注意的是布局将扩展到按钮的外部尺寸,因此您需要确保布局上的边距占按钮边框用于绘制的空间。这会给你一些看起来像按钮的东西,但上面有你想要的任何其他小部件。

    当然,如果您对按钮进行如此多的样式设置或动态使用它,创建您自己的 QAbstractButton 子类并使用它可能会更容易。

    【讨论】:

      【解决方案2】:

      Afaik,您不能在常规 QPushbutton 上放置两个标签。当文本在同一个块中时,我也不认为这可以通过标准 CSS 实现。我会说子类 QAbstractButton 有两个标签。

      【讨论】:

        最近更新 更多