![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Count0 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 17 Регистрация: 30.7.2011 Пользователь №: 2772 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Требуется реализовать класс унаследованыый от Qgradient. Однако при описании самого класса мне не удалось найти каких либо виртуальных методов, которые должен реализовывать наследник для того чтобы градиент работал (То есть методов в которых должны производится расчкты яркости для точки). Каким образом можно реализовать подобное наследование (если вообще можно)?
|
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
можно попробовать:
1) переопределить методы базового класса, изменить параметры и передать родителю 2) взять исходники базового класса, переделать в свой класс |
|
|
Count0 |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 17 Регистрация: 30.7.2011 Пользователь №: 2772 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
можно попробовать: 1) переопределить методы базового класса, изменить параметры и передать родителю 2) взять исходники базового класса, переделать в свой класс Переопределить без модификатора virtual в базовом классе разве можно? Это по-моему будет замещение и тогда по указателю на базовый класс не будет вызван мой метод из таблицы виртуальных методов. |
|
|
iReset |
![]()
Сообщение
#4
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
Видимо, на данный момент никак. Дело в том, что сейчас в QGradient и, более того, в QBrush жестко прошиты три типа градиентов, существующих в Qt. Посему Qt может работать только с ними.
|
|
|
Алексей1153 |
![]()
Сообщение
#5
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Переопределить без модификатора virtual в базовом классе разве можно? конечно можно по указателю на базовый класс не будет вызван мой метод из таблицы виртуальных методов. совершенно верно. А кто сказал, что нужно будет пользоваться указателем типа "родительский класс" ? ![]() |
|
|
iReset |
![]()
Сообщение
#6
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
А кто сказал, что нужно будет пользоваться указателем типа "родительский класс" ? А по-другому нельзя. Если, конечно, этот класс хочется использовать при рисовании. С градиентом работает только QBrush, а он принимает только QGradient, причём зная, что у него есть три и только три типа. |
|
|
Алексей1153 |
![]()
Сообщение
#7
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 1.6.2025, 9:18 |