1

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

4

1 回答 1

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], ...]

于 2015-07-31T07:11:31.410 回答