我正在使用QToolButton并设置了图标。
现在我想要文字"below the QToolButton"
,"Not below the icon"
。
有没有办法在C ++,Linux中的QT中实现这一目标?
答案 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],...]