QPushButton - рисовать на кнопке, Как вывести рисунок на кнопке? |
Здравствуйте, гость ( Вход | Регистрация )
QPushButton - рисовать на кнопке, Как вывести рисунок на кнопке? |
flankerr |
22.2.2008, 16:10
Сообщение
#11
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Она же виртуальная. Просто переопредели... Ты не понял сути вопроса... ТО что она виртуальная не делает её сигналом и не даёт мне возможность обработать сигнал отрисовки В ДРУГОМ объекте А мне как раз и надо установить обработчик события отрисовки кнопки внутри диалога родителя. |
|
|
trdm |
22.2.2008, 16:32
Сообщение
#12
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
|
|
|
trdm |
22.2.2008, 16:38
Сообщение
#13
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
наверное можно попробовать так:
Всетаки переопределить у кнопки paintEvent, а из переопределенного paintEvent-та уже слать сигнал паренту. Так пойдет? Хотя мне почему то такой подход не нравится. |
|
|
ViGOur |
22.2.2008, 16:39
Сообщение
#14
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
В полне возможно, что paintEvent дергается из paintEvent родителя для всех дочерних виджетов, без каких либо сигналов.
А виртуальная она на случай, если ты переопределишь класс виджета. Другими словами, может быть просто сигналов перерисовки нет. |
|
|
flankerr |
22.2.2008, 17:25
Сообщение
#15
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
наверное можно попробовать так: Всетаки переопределить у кнопки paintEvent, а из переопределенного paintEvent-та уже слать сигнал паренту. Так пойдет? Хотя мне почему то такой подход не нравится. И снова недопонимание сути Задача: Отрисовать на кнопке ченить БЕЗ создание наследников кнопки (прям из родительского диалога) Создать наследника секудное дело, но потом это выливается лишнем гемороем. Т.к. форма для быстроты и наглядности была созданы в редакторе форм и каждый раз перписывать что кнопка наследуется от другого класса... Вообще странно в тех же виндах такого гемора с рисованем нет... |
|
|
Litkevich Yuriy |
22.2.2008, 21:50
Сообщение
#16
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вот сделал ты в дезайнере окно, получил файл foo.ui, сделай еще так:
получишь Сишный файл диалога, подкорректируй его, если тебе нужно часто менять рисунок на кнопке, приделай метод который будет устанавливать на кнопку нужную иконку, иконки можешь хранить в нутри исполняемого файла или с наружи, помоему так гараздо быстрее и проще, чем городить огород с обработчиками рисования. |
|
|
flankerr |
26.2.2008, 11:57
Сообщение
#17
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
устанавливать на кнопку нужную иконку, иконки можешь хранить в нутри исполняемого файла или с наружи, помоему так гараздо быстрее и проще, чем городить огород с обработчиками рисования. Если на кнопке может быть два три изображения тогда да - seticon - и нет проблем, а вот если больше... Ну допустим надо кнопку раскрасить в определённый цвет а цвет выбирает пользователь произвольным образом. |
|
|
ViGOur |
26.2.2008, 12:01
Сообщение
#18
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Если на кнопке может быть два три изображения тогда да - seticon - и нет проблем, а вот если больше... Да хоть 100. Лучше не полениться и переопределить класс. Ну допустим надо кнопку раскрасить в определённый цвет а цвет выбирает пользователь произвольным образом. Создаешь метод setColor в производном классе кнопки и все.
|
|
|
flankerr |
26.2.2008, 17:54
Сообщение
#19
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Ну нафига мне в сотый раз говрить про наследников... Производный класс в моём случае это ГЕМОР.
Мне проще идею по другому реализовать чем производный класс лепить. Всётаки в виндах это более человечно сделано. |
|
|
trdm |
1.5.2008, 0:53
Сообщение
#20
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 7:52 |