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