разным форматированием. как я понял, из коробки QPushButton такое не поддерживает, только QLabel. как их скрестить попроще? переопределять метод отрисовки, или вставлять лэйбл внутрь кнопки, или как?
спасибо!
хм. после этого кнопка не кликается. как этот лэйбл сделать невидимым для кликов?
Купи за 100р себе доступ до нейронки. Нет где купить не знаю.
Да через стили так же и кнопку сделай. Label тут лишний.
как через стили сделать одно слово жирным, а другое нежирным?
А, вот как тебе надо. Тогда надо переопределить Label, чтобы клик пропускала.
можешь подсказать, как?
.H protected: bool eventFilter(QObject *object, QEvent *event) override; .CPP TextField::TextField() :QLineEdit() { installEventFilter(this); } bool TextField::eventFilter(QObject *object, QEvent *event) { Q_UNUSED(object) switch(event->type()){ case QEvent::MouseButtonDblClick: case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::ContextMenu: { deselect(); event->ignore(); return true; break; } default: return false; } }
вау, спасибо!
ContextMenu у Label нет, deselect тоже не нужен.
а у тебя, если не секрет, что это было? lineedit поверх чего и зачем его делать прозрачным?
Ну надо было разместить на сложном item`e для WidgetList потенциально большой текст, чтобы сам WidgetList не колбасило. Решил через QLineEdit сделать.
Не заметил сразу. Можно кликабельный Label просто сделать. И стилями поиграться, чтобы на кнопку был похож.
сделал со вложенным виджетом (QLabel внутри MyPushButton) и фильтром событий по твоему образцу, мне нравится результат. кнопка кликается класиво
а можно эдитабельный лебел сделать? вроде что-бы часть текста можно было копировать?
Чтобы ещё и html форматирование поддерживал?
не, это лишнее пока.
да я вроде делал, но чет забыл как... 😕
Вот тут упоминается как это сделать. Мне нужды не было, но расскажи о результатах ) https://doc.qt.io/qt-6/qlabel.html#hasSelectedText-prop
можно и в форме это делать, только event->sender() анализировать.
Но если форматирования текста не нужно, то проще вместо Label использовать QLineEdit readonly
Но если форматирования текста не нужно, то проще вместо Label использовать QLineEdit readonly
в форме — это как?
В слоте можно попытаться определить сендера, но я пока не понимаю как это тебе может помочь. Если речь о передаче клика дальше.
installeventfilter
ну так это и есть первый вариант
Попробуй атрибут выставить. Это должен быть твой вариант ршения.
Обсуждают сегодня