首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反转QToolButton的布局

反转QToolButton的布局
EN

Stack Overflow用户
提问于 2012-04-21 23:19:47
回答 2查看 1.9K关注 0票数 3

我想做一个文本是它的图标左边的QToolButton。我试图找到相关的信息,并尝试了以下内容:

代码语言:javascript
复制
button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

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

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

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

这是我目前所拥有的:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-22 01:23:31

您可以使用QWidget::setLayoutDirection

代码语言:javascript
复制
toolbar->setLayoutDirection(Qt::RightToLeft);
票数 4
EN

Stack Overflow用户

发布于 2012-04-22 00:31:30

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

下面是一个你可以使用的小部件的例子:

代码语言:javascript
复制
#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);
    }
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10260252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档