Название: QTimer в классе не наследуемом от QObject Отправлено: daspisch от Февраль 12, 2010, 13:24 что-то не получается никак это запустить, может кто подскажет как это обойти, или обязательно прикручивать QObject?
Название: Re: QTimer в классе не наследуемом от QObject Отправлено: voronElf от Февраль 12, 2010, 13:32 а ты коннектишь сигнал от таймера к этому же классу (не наследнику QObject) ? Тогда не будет слот запускаться. Для классов, не наследуемых от QObject механизм сигналов-слотов не действует.
Наследуй от QObject. ну или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject Название: Re: QTimer в классе не наследуемом от QObject Отправлено: Amigo_sa от Февраль 12, 2010, 13:44 или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject конечно сработает. Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока. Название: Re: QTimer в классе не наследуемом от QObject Отправлено: Kolobok от Февраль 12, 2010, 16:07 Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока. Это почему?Название: Re: QTimer в классе не наследуемом от QObject Отправлено: Amigo_sa от Февраль 12, 2010, 16:55 Единственное, что может вызвать крах - это коннект сигналов таймера к объекту из другого потока. Это почему?Название: Re: QTimer в классе не наследуемом от QObject Отправлено: Kolobok от Февраль 12, 2010, 18:37 Наверное делал Qt::DirectConnection
Название: Re: QTimer в классе не наследуемом от QObject Отправлено: mcrads от Февраль 12, 2010, 21:27 Это редкие случаи, искать надо в другом, копать при пошаговой отладке. Из моего опыта такого ни разу не происходило.
Так что можно сдело коннектить - но если будут ошибки - по шажочкам выверять, комментить - и искать строчку с ошибкой. Между потоками нет проблем - 90% Название: Re: QTimer в классе не наследуемом от QObject Отправлено: Amigo_sa от Февраль 13, 2010, 00:10 хм. действительно, в ассистенте написано, что
Цитировать In multithreaded applications, you can use QTimer in any thread that has an event loop. Скорее всего мое приложение падало, потому что я в слоте я дергал объекты, созданные в другом потоке... надо будет перепроверить. Спасибо за замечание :) Название: Re: QTimer в классе не наследуемом от QObject Отправлено: daspisch от Февраль 15, 2010, 12:22 всем спасибо, предпочёл отправлять событие главному окну чтобы оно запускало сво
Название: Re: QTimer в классе не наследуемом от QObject Отправлено: daspisch от Февраль 15, 2010, 17:43 спасибо за советы, всё сделал.
Название: Re: QTimer в классе не наследуемом от QObject Отправлено: break от Февраль 15, 2010, 18:13 Цитировать ну или можешь попробовать к другому классу-наследнику QObject приконектится, но не знаю, сработает или нет, если класс-владелец объекта не наследник QObject мужики вы че? коннектить можно только наследников QObject (да еще чтобы макрос Q_OBJECT был) - в нем ведь сигналы и слоты собственно описываются... а иначе как оно заработает?Название: Re: QTimer в классе не наследуемом от QObject Отправлено: voronElf от Февраль 16, 2010, 07:31 Цитировать мужики вы че? коннектить можно только наследников QObject да, и я о том же оба объекта, которые коннектятся - наследники QObject (с Q_OBJECT конечно), все нормально. Просто один из коннектящихся объектов является внутренней переменной объекта-не-наследника-QObject. |