![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
zss |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
QThread используется как базовый класс для widget, в котором необходимо запустить поток.
Но, например, widget уже наследуется от QDialog. Они оба (QDialog и QThread) наследуются от QObject. Сразу возникает проблема при множественном наследовании. 2 QObject и с сигналами и слотами для QObject неразбериха. То есть получается наследникам от QWidget нельзя наследоваться от QThread ? Или данную проблему можно как разрулить ? З.Ы. Виртуальное наследование не пойдет, т.к. QThread и QWidget не унаследованы виртуально от QObject. Да и сигналы нужно как-то делить |
|
|
![]() |
zss |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ты хочешь как-то изменить поведение QDialog?т.е для чего тебе наследовать QDialog? На вскидку, сделай отдельно виджет, отнаследованный от QDialog, и 2ой класс , отнаследованный от QThread, и пусть один объект из двух классов будет внутри кого-то ну агрегацию и сейчас и использую, но думал, что можно и по-другому. Изменять поведение QDialog не нужно, надо лишь запускать поток zss, виджеты могут жить в ТОЛЬКО в главном потоке, поэтому бессмысленно делать его наследником QThread а сигналы и слоты, а события... |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.7.2025, 5:53 |