我想创建一个QToolButton
,其中文本位于其图标的左侧。我试图找到相关信息,并尝试使用:
button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
但是这会将文本设置在按钮的右侧。我已经研究过尝试样式表,但文本对齐仅适用于按钮。有没有办法做到这一点?
我的最高目标是创建一个如下所示的界面栏:
旁边有文字标签和图片。目前我正在使用带有可检查工具按钮的工具栏,因为样式(除非moused-over,否则没有边框,仍然具有可检查的缩进,包含文本和图标......)。完全有可能我使用了错误的类型小部件,所以如果我不能改变它的布局,有没有办法模仿这种风格?
这就是我目前所拥有的:
答案 0 :(得分:4)
您可以使用QWidget::setLayoutDirection
:
toolbar->setLayoutDirection(Qt::RightToLeft);
答案 1 :(得分:1)
您最好的选择可能是在QWidget中自己创建此功能。它应该在QHBoxLayout中排列QLabel和QToolButton(或QPushButton)。然后,您可以使用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);
}
};