Название: Добавление кастомных экшенов в контекстное меню QLineEdit, QSpinBox, QComboBox Отправлено: navrocky от Сентябрь 10, 2010, 11:04 Собственно вопрос: как правильно это делать?
Пока делаю через QLineEdit::createStandardContextMenu. То есть зову createStandardContextMenu, добавляю туда свои экшены и показываю его вместо стандартного. Но есть пара проблем при этом:
Вот. Как еще можно добавиться в контекстное меню? Название: Re: Добавление кастомных экшенов в контекстное меню QLineEdit, QSpinBox, QComboBox Отправлено: navrocky от Сентябрь 10, 2010, 12:39 По доброй традиции отвечаю себе сам )
Заглянул в исходники QAbstractSpinBox.. в общем, так и есть берут меню createStandardContextMenu и втыкают туда свои 3 экшена... Единственный нюанс, который решает мою первую проблему - это надо перед каждым показом меню, его запрашивать а не пытаться его держать. В итоге код получается примерно такой (для QLineEdit): Код
Название: Re: Добавление кастомных экшенов в контекстное меню QLineEdit, QSpinBox, QComboBox Отправлено: blindvic от Декабрь 18, 2010, 12:20 У меня при таком подходе сбрасывается имеющееся выделение текста.
Видимо надо переопределить mouseReleaseEvent, но тогда уже и нажатие кнопки контекстного меню тоже следует перехватить. |