Что-То не могу нагуглить. я хочу на кнопке написать текст с

разным форматированием. как я понял, из коробки QPushButton такое не поддерживает, только QLabel. как их скрестить попроще? переопределять метод отрисовки, или вставлять лэйбл внутрь кнопки, или как?

29 ответов

51 просмотр
Cheese-Syrowiecki Автор вопроса

спасибо!

Cheese-Syrowiecki Автор вопроса

хм. после этого кнопка не кликается. как этот лэйбл сделать невидимым для кликов?

Cheese Syrowiecki
хм. после этого кнопка не кликается. как этот лэйб...

Купи за 100р себе доступ до нейронки. Нет где купить не знаю.

Cheese Syrowiecki
хм. после этого кнопка не кликается. как этот лэйб...

Да через стили так же и кнопку сделай. Label тут лишний.

Cheese-Syrowiecki Автор вопроса
Александр ⚛️
Да через стили так же и кнопку сделай. Label тут л...

как через стили сделать одно слово жирным, а другое нежирным?

Cheese Syrowiecki
как через стили сделать одно слово жирным, а друго...

А, вот как тебе надо. Тогда надо переопределить Label, чтобы клик пропускала.

Cheese Syrowiecki
можешь подсказать, как?

.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; } }

Cheese-Syrowiecki Автор вопроса

вау, спасибо!

Cheese Syrowiecki
вау, спасибо!

ContextMenu у Label нет, deselect тоже не нужен.

Cheese-Syrowiecki Автор вопроса
Александр ⚛️
ContextMenu у Label нет, deselect тоже не нужен.

а у тебя, если не секрет, что это было? lineedit поверх чего и зачем его делать прозрачным?

Cheese Syrowiecki
а у тебя, если не секрет, что это было? lineedit п...

Ну надо было разместить на сложном item`e для WidgetList потенциально большой текст, чтобы сам WidgetList не колбасило. Решил через QLineEdit сделать.

Не заметил сразу. Можно кликабельный Label просто сделать. И стилями поиграться, чтобы на кнопку был похож.

Cheese-Syrowiecki Автор вопроса
Александр ⚛️
Не заметил сразу. Можно кликабельный Label просто ...

сделал со вложенным виджетом (QLabel внутри MyPushButton) и фильтром событий по твоему образцу, мне нравится результат. кнопка кликается класиво

а можно эдитабельный лебел сделать? вроде что-бы часть текста можно было копировать?

trdmval .
да я вроде делал, но чет забыл как... 😕

Вот тут упоминается как это сделать. Мне нужды не было, но расскажи о результатах ) https://doc.qt.io/qt-6/qlabel.html#hasSelectedText-prop

Александр ⚛️
.H protected: bool eventFilter(QObject *object...

можно и в форме это делать, только event->sender() анализировать.

Александр ⚛️
Вот тут упоминается как это сделать. Мне нужды не ...

Но если форматирования текста не нужно, то проще вместо Label использовать QLineEdit readonly

trdmval .
типа

Но если форматирования текста не нужно, то проще вместо Label использовать QLineEdit readonly

Cheese Syrowiecki
в форме — это как?

В слоте можно попытаться определить сендера, но я пока не понимаю как это тебе может помочь. Если речь о передаче клика дальше.

Cheese-Syrowiecki Автор вопроса
trdmval .
installeventfilter

ну так это и есть первый вариант

Cheese Syrowiecki
ну так это и есть первый вариант

Попробуй атрибут выставить. Это должен быть твой вариант ршения.

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта