[QT] Множественное наследование |
Здравствуйте, гость ( Вход | Регистрация )
[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. Да и сигналы нужно как-то делить |
|
|
Andrewshkovskii |
24.4.2010, 18:46
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Ты хочешь как-то изменить поведение QDialog?т.е для чего тебе наследовать QDialog?
На вскидку, сделай отдельно виджет, отнаследованный от QDialog, и 2ой класс , отнаследованный от QThread, и пусть один объект из двух классов будет внутри кого-то Сообщение отредактировал Andrewshkovskii - 24.4.2010, 18:55 |
|
|
Litkevich Yuriy |
24.4.2010, 19:58
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
zss, виджеты могут жить в ТОЛЬКО в главном потоке, поэтому бессмысленно делать его наследником QThread
|
|
|
zss |
24.4.2010, 21:06
Сообщение
#4
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ты хочешь как-то изменить поведение QDialog?т.е для чего тебе наследовать QDialog? На вскидку, сделай отдельно виджет, отнаследованный от QDialog, и 2ой класс , отнаследованный от QThread, и пусть один объект из двух классов будет внутри кого-то ну агрегацию и сейчас и использую, но думал, что можно и по-другому. Изменять поведение QDialog не нужно, надо лишь запускать поток zss, виджеты могут жить в ТОЛЬКО в главном потоке, поэтому бессмысленно делать его наследником QThread а сигналы и слоты, а события... |
|
|
Litkevich Yuriy |
24.4.2010, 21:30
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
zss |
24.4.2010, 23:42
Сообщение
#6
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
25.4.2010, 0:34
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 22:10 |