Как установить текст под 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], …]

2

Другие решения


По вопросам рекламы [email protected]