crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [QT] Множественное наследование
zss
  опции профиля:
сообщение 24.4.2010, 17:40
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


QThread используется как базовый класс для widget, в котором необходимо запустить поток.
Но, например, widget уже наследуется от QDialog.

Они оба (QDialog и QThread) наследуются от QObject.
Сразу возникает проблема при множественном наследовании.

2 QObject и с сигналами и слотами для QObject неразбериха.
То есть получается наследникам от QWidget нельзя наследоваться от QThread ?

Или данную проблему можно как разрулить ?

З.Ы. Виртуальное наследование не пойдет, т.к. QThread и QWidget не унаследованы виртуально от QObject. Да и сигналы нужно как-то делить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
zss
  опции профиля:
сообщение 24.4.2010, 21:06
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Andrewshkovskii @ 24.4.2010, 19:46) *
Ты хочешь как-то изменить поведение QDialog?т.е для чего тебе наследовать QDialog?
На вскидку, сделай отдельно виджет, отнаследованный от QDialog, и 2ой класс , отнаследованный от QThread, и пусть один объект из двух классов будет внутри кого-то

ну агрегацию и сейчас и использую, но думал, что можно и по-другому.
Изменять поведение QDialog не нужно, надо лишь запускать поток

Цитата(Litkevich Yuriy @ 24.4.2010, 20:58) *
zss, виджеты могут жить в ТОЛЬКО в главном потоке, поэтому бессмысленно делать его наследником QThread

а сигналы и слоты, а события...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 15:44