Использование setWhatIsThis в Qt с QPushButton

Мне нужно показать «текст справки», когда мышь находится над кнопкой, я погуглил и попробовал какой-то код, но тщетно.

Кто-нибудь может исправить это для меня?

if (event->type() == QEvent::Enter)
{
if (obj == q1)
{
iarm->printStatus("hi"); // For debugging
QAction *newAct = new QAction(tr("&New"), this);
newAct->setShortcut(tr("Ctrl+N"));
newAct->setStatusTip(tr("Create a new file"));
newAct->setWhatsThis(tr("Click this option to create a new file."));
}
}

0

Решение

Вместо того, чтобы идти через QAction, просто используйте свой QPushButton (ну, на самом деле, QWidget) setToolTip(const QString &).

Это установит всплывающую подсказку для вашей кнопки / виджета, которая появляется, когда ваша мышь наводит курсор на нее. Похоже, это то, что вы собираетесь, а не сообщение «Что это», которое вы пытаетесь использовать сейчас.

1

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

Вы можете использовать свойство QpushButton setToolTip (const QString & ) для того же.
Это отобразит текст вашей справки при наведении курсора мыши на кнопку Qpush.

Для смарт-текста согласно вашему требованию вы можете установить таблицу стилей для всплывающей подсказки: —

QToolTip {color: #fff; цвет фона: # 000; граница: нет; }

1

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