如何在QT中的QToolButton下面设置文本而不是图标下方

时间:2015-07-31 06:06:55

标签: c++ qt text icons qtoolbutton

我正在使用QToolButton并设置了图标。 现在我想要文字"below the QToolButton""Not below the icon"。 有没有办法在C ++,Linux中的QT中实现这一目标?

1 个答案:

答案 0 :(得分:2)

前一段时间我在申请嵌入式Linux系统时发现自己处于相同的位置。

我还没有找到一个直接的解决方案(我正在寻找一种通过CSS实现它的方法)。

我最终做的是创建一个新的QWidget(使用设计器)。然后将按钮放在其中,下面有一个QLabel。

然后添加了一个简单的静态函数

static void wdgCustomButton::create(const QString iconPath, const QString text)
{
    // create a new button here, create some modification functions for
    // text, image and optionally QStyleSheets.

    // Call those here (pass the arguments)

    // Then return the button
    // pseudo code, (not tested):

    wdgCustomButton button = new wdgCustomButton( /* could pass a parent */ );
    button->setIcon( iconPath ); // function simply calls the ui->button->setIcon
    button->setText( text );     // function simply calls the ui->label->setText 
    return button;
}

然后使用代码将这些新的QWidgets添加到您的面板中(可能有人知道如何在默认工具栏中获取它,但我自己也没有搜索过它,因为我从未需要它。)

this->menuButtons[menuBtnsCount] = wdgCustomButton::create( ":/Images/Warning.png", "Delete everything" );            
this->menuButtons[menuBtnsCount]->setGeometry( QRect( /* size and position here */ ) );
this->menuButtons[menuBtnsCount]->show();

我希望这可能会让你有一个想法,以一种简单的方式解决它!

修改 对不起,我忘了添加点击事件的内容。点击事件主要是为什么我用它制作了一个QWidget! 我刚刚使用了连接功能[我相信整个按钮就像:connect(this-> menuButtons [0],...]