Правильное преобразование типа, неясность |
Здравствуйте, гость ( Вход | Регистрация )
Правильное преобразование типа, неясность |
AD |
19.5.2008, 18:14
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
У меня есть класс, который наследуется от QThread. Компилятор позволяет, но а вообще правильно, если я указатель this этого класса преобразую к QWidget*?
|
|
|
ViGOur |
19.5.2008, 19:46
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Litkevich Yuriy |
20.5.2008, 7:46
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
ну и QWidget, тоже от него. Тогда вроде и нормально.
|
|
|
Tonal |
20.5.2008, 7:58
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Нет, неправильно.
Такое можно делать только если твой класс отнаследован одновременно и от TThread, и от QWidget. Тогда приводится между ними можно с помощью dynamic_cast или qobject_cast. Но, во первых Qt не поддерживает множественное наследование, в случае если более 1го базового класса являются наследниками QObject. А во вторых, работать с виджетами можно только из главного потока, так что идея отнаследоваться одновременно от TThread и от QWidget кажется мне довольно неудачной. Лучше просто опиши, что ты пытаешься изобресть. |
|
|
AD |
20.5.2008, 8:42
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата Нет, неправильно. Такое можно делать только если твой класс отнаследован одновременно и от TThread, и от QWidget. Тогда приводится между ними можно с помощью dynamic_cast или qobject_cast. Но, во первых Qt не поддерживает множественное наследование, в случае если более 1го базового класса являются наследниками QObject. А во вторых, работать с виджетами можно только из главного потока, так что идея отнаследоваться одновременно от TThread и от QWidget кажется мне довольно неудачной. Лучше просто опиши, что ты пытаешься изобресть. Спасибо за объяснение. Да уже понял что так нельзя. Ошибка выполнения возникала. Отказался от такого способа. Реализовал более правильным способом! |
|
|
Текстовая версия | Сейчас: 27.12.2024, 5:28 |