Russian Qt Forum
Ноябрь 24, 2024, 10:46
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
QTimer в классе не наследуемом от QObject
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTimer в классе не наследуемом от QObject (Прочитано 5488 раз)
daspisch
Гость
QTimer в классе не наследуемом от QObject
«
:
Февраль 12, 2010, 13:24 »
что-то не получается никак это запустить, может кто подскажет как это обойти, или обязательно прикручивать QObject?
Записан
voronElf
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #1 :
Февраль 12, 2010, 13:32 »
а ты коннектишь сигнал от таймера к этому же классу (не наследнику QObject) ? Тогда не будет слот запускаться. Для классов, не наследуемых от QObject механизм сигналов-слотов не действует.
Наследуй от QObject.
ну или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject
Записан
Amigo_sa
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #2 :
Февраль 12, 2010, 13:44 »
Цитата: voronElf от Февраль 12, 2010, 13:32
или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject
конечно сработает. Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока.
Записан
Kolobok
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #3 :
Февраль 12, 2010, 16:07 »
Цитата: Amigo_sa от Февраль 12, 2010, 13:44
Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока.
Это почему?
Записан
Amigo_sa
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #4 :
Февраль 12, 2010, 16:55 »
Цитата: Kolobok от Февраль 12, 2010, 16:07
Цитата: Amigo_sa от Февраль 12, 2010, 13:44
Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока.
Это почему?
По опыту. Мое приложение падало, когда я пытался обработать слоты на сигналы, сэмиченные в другом потоке.
Записан
Kolobok
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #5 :
Февраль 12, 2010, 18:37 »
Наверное делал Qt::DirectConnection
Записан
mcrads
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #6 :
Февраль 12, 2010, 21:27 »
Это редкие случаи, искать надо в другом, копать при пошаговой отладке. Из моего опыта такого ни разу не происходило.
Так что можно сдело коннектить - но если будут ошибки - по шажочкам выверять, комментить - и искать строчку с ошибкой.
Между потоками нет проблем - 90%
Записан
Amigo_sa
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #7 :
Февраль 13, 2010, 00:10 »
хм. действительно, в ассистенте написано, что
Цитировать
In multithreaded applications, you can use QTimer in any thread that has an event loop.
Скорее всего мое приложение падало, потому что я в слоте я дергал объекты, созданные в другом потоке... надо будет перепроверить. Спасибо за замечание
Записан
daspisch
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #8 :
Февраль 15, 2010, 12:22 »
всем спасибо, предпочёл отправлять событие главному окну чтобы оно запускало сво
Записан
daspisch
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #9 :
Февраль 15, 2010, 17:43 »
спасибо за советы, всё сделал.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: QTimer в классе не наследуемом от QObject
«
Ответ #10 :
Февраль 15, 2010, 18:13 »
Цитировать
ну или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject
мужики вы че? коннектить можно только наследников QObject (да еще чтобы макрос Q_OBJECT был) - в нем ведь сигналы и слоты собственно описываются... а иначе как оно заработает?
Записан
voronElf
Гость
Re: QTimer в классе не наследуемом от QObject
«
Ответ #11 :
Февраль 16, 2010, 07:31 »
Цитировать
мужики вы че? коннектить можно только наследников QObject
да, и я о том же
оба объекта, которые коннектятся - наследники QObject (с Q_OBJECT конечно), все нормально. Просто один из коннектящихся объектов является внутренней переменной объекта-не-наследника-QObject.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...