我正在使用 QToolButton 并设置了图标。现在我想要文本"below the QToolButton"
,"Not below the icon"
。有没有办法在 C++ 中实现这一点,在 Linux 中的 QT ?
问问题
653 次
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 回答