![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Нужно ли тело для threadSignal()? Из книжки Макса Шлее: Цитата Сигналы определяются в классе, как и обычные методы, только без реализации. С точки зрения программиста они являются только протатипами методов, содержащихся в заголовочном файле определения класса к стати у Шлее написано еще так: Цитата ...не имеет смысла определять сигналы как protected, private, public
Сообщение отредактировал Litkevich Yuriy - 5.2.2008, 11:51 |
|
|
AD |
![]()
Сообщение
#12
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Из книжки Макса Шлее: Цитата Сигналы определяются в классе, как и обычные методы, только без реализации. С точки зрения программиста они являются только протатипами методов, содержащихся в заголовочном файле определения класса Спасибо. Я использую книжку Жасмин Бланшет, Марк Саммерфилд "Qt 4: Программирование GUI на C++" |
|
|
Litkevich Yuriy |
![]()
Сообщение
#13
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
AD22, ты где сигнал посылаешь (emit threadSignal()) можешь пример привести?
Сообщение отредактировал Litkevich Yuriy - 5.2.2008, 12:01 |
|
|
AD |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
AD22, ты где сигнал посылаешь (emit threadSignal()) можешь пример привести? Конечно! ![]()
На счет protected, private, public - да, в этом была ошибка - убрал! Сообщение отредактировал AD22 - 5.2.2008, 12:05 |
|
|
AD |
![]()
Сообщение
#15
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Теперь ошибка при выполнении. Ломается программа на строчках:
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
тема такая, высылать сигнал может только тот класс в котором сигнал определен, я так понял что он у тебя в другом классе, тогда сделай так:
а в коде где ты делал emit threadSignal(); вызывай метод sendMySignal() |
|
|
AD |
![]()
Сообщение
#17
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
тема такая, высылать сигнал может только тот класс в котором сигнал определен, я так понял что он у тебя в другом классе, тогда сделай так:
а в коде где ты делал emit threadSignal(); вызывай метод sendMySignal() Проблема была не в этом. Я в конструкторе делал connect, а в этот момент rthread был еще не инициализирован. Ошибку поправил, но все-равно траектория не выводится, хотя работает приложение быстро и без ошибок выполнения! ![]() |
|
|
ViGOur |
![]()
Сообщение
#18
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
connect(this, SIGNAL(threadSignal()), rthread, SLOT(threadSlot())); А rthread у тебя валидный? Думаю, что нет, потому и валится...я так понял что он у тебя в другом классе Если он сделал так как я показал, то в том классе, что нужно, в LogReader. ![]() |
|
|
ViGOur |
![]()
Сообщение
#19
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ошибку поправил, но все-равно траектория не выводится, хотя работает приложение быстро и без ошибок выполнения! sad.gif Если она у тебя должна выводиться в слоте, то поставь в нем точку останова и посмотри, правильно отрабатывает ли...
Сообщение отредактировал ViGOur - 5.2.2008, 12:27 |
|
|
AD |
![]()
Сообщение
#20
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Если она у тебя должна выводиться в слоте, то поставь в нем точку останова и посмотри, правильно отрабатывает ли... Да... она не отрабатывает. Я сделал так, как Вы и показывали. Спасибо за оперативную и продуктивную помощь. Буду разбираться с проблемами. Если что, могу вопросы задавать? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 19.6.2025, 5:29 |