Russian Qt Forum
Ноябрь 24, 2024, 12:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нажатие на кнопку без анимации.  (Прочитано 4288 раз)
rudolfninja
Гость
« : Апрель 10, 2014, 22:38 »

Ребята, добрый вечер, это снова я. Надоел, наверное, уже всем, но перерыв интернет, так и не нашел ответ на свой вопрос.
Вопрос следующий: как отключить у кнопки анимацию при нажатии или сделать так, чтоб ее не было видно?
У меня на кнопке висит иконка и при нажатии на кнопку икона меняется на другую (по сути, тумблер). Т.е. при каждом нажатии на кнопку меняется иконка. Ну и с анимацией это некрасиво выглядит, как будто тумблер "прыгает".
Чисто теоретически, я понимаю, что можно как-то унаследоваться от QPushButton и там переопределить метод рисования, но это трудно сильно.
Еще один вариант, использовать QLabel, но от него тоже надо делать производный класс, чтоб был доступ к mousePressEvent. Но этот вариант не подходит тем, что у меня все кнопки расположены в ButtonGroup'e и из-за этого код обработки нажатия на кнопки занимает минимум места. С QLabel такого не выйдет и придется писать обработчик для каждого "тумблера", что повлечет за собой разрастание кода.
Если есть мысли по поводу, как решить мою проблему, поделитесь, пожалуйста.
Спасибо.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Апрель 10, 2014, 22:45 »

А если зделать кнопку плоской?
setFlat( true )
Записан
rudolfninja
Гость
« Ответ #2 : Апрель 10, 2014, 23:13 »

Пробовал, все равно анимация есть
Записан
Bepec
Гость
« Ответ #3 : Апрель 10, 2014, 23:45 »

Отнаследоваться от кнопки и переопределить paintEvent.

Если есть картинки тумблера, могу даже взяться этот класс настропать. Натягивать картинки на кнопки я научился в последнее время Улыбающийся

PS могу даже плагин в дизайнер засунуть, правда всё это верно только для Qt версии ниже 5. Что там выше я не в курсе.
Записан
rudolfninja
Гость
« Ответ #4 : Апрель 11, 2014, 08:10 »

Отнаследоваться от кнопки и переопределить paintEvent.

Если есть картинки тумблера, могу даже взяться этот класс настропать. Натягивать картинки на кнопки я научился в последнее время Улыбающийся

PS могу даже плагин в дизайнер засунуть, правда всё это верно только для Qt версии ниже 5. Что там выше я не в курсе.

Если не затруднит, то было бы очень здорово. Только вот интересует, в какие сроки сделаете?
Скажите, куда скинуть картинки?
Плагин, наверное, не надо. Хватит самого класса. А я уже динамически понасоздаю объектов этого класса.
А вообще, было бы идеально, чтоб класс не был завязан на конкретной картинке и размере кнопки. Чтоб я сам мог динамически указать ему картинку и размер, т.к. есть вероятность (но я еще в этом не уверен), что я и все остальные клавиши (у меня в ui есть тумблеры и клавиши для ввода команд) сделаю объектами вашего класса, а у них иконка другая и размер другой.
« Последнее редактирование: Апрель 11, 2014, 08:29 от rudolfninja » Записан
Bepec
Гость
« Ответ #5 : Апрель 11, 2014, 12:43 »

Решение проблемы в теме - http://www.prog.org.ru/topic_26829_0.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.