3

我想做一个QToolButton文本位于其图标左侧的位置。我试图找到相关信息,并尝试了以下方法:

button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

但这会将文本设置在按钮的右侧。我已经研究过尝试样式表,但文本对齐仅适用于按钮。有没有办法做到这一点?

我的最高目标是制作一个如下所示的界面栏:

目标

旁边有一个文本标签和图像。目前,由于样式原因,我正在使用带有可检查工具按钮的工具栏(除非鼠标悬停,否则无边框,仍然具有可检查的缩进,包含文本和图标......)。我完全有可能使用了错误类型的小部件,所以如果我不能改变它的布局,有没有办法模仿这种风格?

这是我目前拥有的:

当前的.

4

2 回答 2

4

您可以使用QWidget::setLayoutDirection

toolbar->setLayoutDirection(Qt::RightToLeft);
于 2012-04-21T17:23:30.593 回答
1

您最好的选择可能是自己在 QWidget 中创建此功能。它应该有一个 QLabel 和一个 QToolButton(或 QPushButton)排列在一个 QHBoxLayout 中。然后,您可以使用QToolBar::addWidget()或将此自定义小部件添加到工具栏QToolBar::insertWidget()

这是您可以使用的小部件示例:

#include <QtGui>

class CoolButton : public QWidget
{
public:
    CoolButton(QWidget *parent = 0) : QWidget(parent)
    {
        QLabel *label = new QLabel("Hi!", this);
        QToolButton *button = new QToolButton(this);
        QHBoxLayout *layout = new QHBoxLayout;
        layout->addWidget(label);
        layout->addWidget(button);
        setLayout(layout);
    }
};
于 2012-04-21T16:31:30.027 回答