Как изменить основной клик мыши в виджете?
Здравствуйте. Подскажите пожалуйста , как изменить основной клик мыши в виджете с ЛКМ на колесико или ПКМ?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
OI
- Ora Iro
- Жел. 24, 2024, 5:38 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:40ұпай,
- Бағалау ұпайлары-8
AD
- Akiv Doros
- Қар. 11, 2024, 1:58 Т.Қ.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:50ұпай,
- Бағалау ұпайлары-4
m
- molni99
- Қаз. 26, 2024, 12:37 Т.Ж.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:80ұпай,
- Бағалау ұпайлары4
Соңғы пікірлер
ИМ
Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовҚар. 22, 2024, 10:51 Т.Ж.
Evgenii LegotckoiҚаз. 31, 2024, 1:37 Т.Қ.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовҚаз. 5, 2024, 6:51 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
p
Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
pimacontrols85Жел. 31, 2024, 8:39 Т.Ж.
Donald RandolphЖел. 30, 2024, 1:59 Т.Ж.
Nirvana Yoga SchoolЖел. 30, 2024, 4:13 Т.Ж.
Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…
Excel in Exams with PSLE Maths Tuition Singapore Preparing for the PSLE can be challenging, but the right guidance makes all the difference. PSLE Maths tuition Singapore offers personalized coaching to help students master key concepts, improv…
Добрый день!
Можете попробовать переопределить метод mousePressEvent или mouseReleaseEvent .
Но это будет для конкретного виджета, хотя вообще не понимаю, зачем вам это нужно.
И убедительная просьба, создавайте, пожалуйста, подобные темы в соответствующем разделе форума о Qt . Раздел EVILEG предназначен для вопросов, касающихся непосредственного развития сайта, баги там, предложения, идеи и т.д.
Извините. Учту это в след раз.
Да, я знаю этот метод, он мне не удобен, т.к. в моем приложении больше 1000 строк в методах mouseevent. Делаю обучающее приложение по программе, в которой основной клик на среднюю кнопку. Возможно ли это сделать проще?
Не помню, чтобы функционал по подмене событий мыши в Qt вообще присутствовал, это несколько специфичное поведение, которое нужно в рамах вашего отдельно взятого приложения. Поэтому это просто не может существовать в рамках библиотеки, для библиотеки Qt это не нужно.
Обычно, если нужно обрабатывать особым образом какие-либо события мыши, то делают переопределение событий мыши. Но у вас как я понимаю проблема в том, что таких виджетов много и в каждом писать одно и тоже - это оверхед очень большой.
Как я думаю, нужно либо через install filter переопределять обработку событий, либо сделать базовый класс, который наследован от QWidget, в котором вы переопределите метод обработки кликов мыши и будете кидать нужный вам сигнал уже наследоваться от этого класс. Аналогично для всех остальных виджетов (QPushButton и т.д.), которые вам нужно, делать промежуточный класс, в котором имеется данная обработка по подмене событий. Полагаю, что иначе никак.
А могу ли я скопировать класс qpushbutton, изменить его ? Мне необходимо организовать нажатие кнопок на колёсико мыши.
Вам не нужно его копировать, вам нужно от него наследоваться.
Вот в этой статье есть пример наследования от QPushButton