Как установить текст под QToolButton в QT, а не под значком
Я использую QToolButton и устанавливаю иконку. Теперь я хочу текст "below the QToolButton"
, "Not below the icon"
, Есть ли способ достичь этого в C++,QT в Linux?
1 ответ
Я оказался в том же положении некоторое время назад, когда создавал приложение для встраиваемой системы 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();
Я надеюсь, что это может дать вам идею исправить это простым способом!
Изменить: извините, я забыл добавить что-то о событии клика. Событие click было главным образом тем, почему я сделал из него QWidget! Я просто использовал функцию подключения [Я верю на всю кнопку, как: подключения (это->menuButtons[0], ...]