Название: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 09:29 Первый класс, там есть объект MainWindow
Код: #include <QObject> // После создания объекта, по клику срабатывает signal Ready(), но слот не работатет Код: Presenter::Presenter(QObject *parent) : QObject(parent) Код:
Подскажите может кто-то увидит, в чем проблема Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 09:45 Еще одна из проблем с этим проектом
Иногда после запуска, начинает вылетать ошибка :-1: ошибка: cannot open output file debug\AppPoker.exe: Permission denied Смотрю в task manager, там это приложение не висит, пытаюсь его удалить в ручную пишет, что нет доступа к нему Не могу понять, из-за чего такое поведение, но предпологаю что ошибка с сигналами и слотами как-то связонно с этим.... В других проектах сигналы и слоты работают нормально. Название: Re: Не срабатывает слот Отправлено: Apktyc от Июль 14, 2017, 10:25 А почему бы не связать сигнал MainWindow::Ready со слотом Presenter::StartWork напрямую? Зачем эта подозрительная конструкция с соединением сигнал/сигнал?
Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 10:26 Я так делал, и все равно не работало, решил попробовать через сигнал сделать...
Название: Re: Не срабатывает слот Отправлено: __Heaven__ от Июль 14, 2017, 10:29 :-1: ошибка: cannot open output file debug\AppPoker.exe: Permission denied Подобное поведение с определёнными версиями gdb наблюдал, но причину проблемы не нашёл. У меня решалось через Debug->abort debugging.По основному вопросу: есть ли уверенность, что Ready() вызывается. QObject::connect возвращает результат связки. Предлагаю в qDebug() вывести его. Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 10:45 Возвращает true ???
Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 10:52 сделал так
connect(window, &MainWindow::Beginning, &m_loop, &QEventLoop::quit); window->show(); m_loop.exec(); с QEventLoop работает Название: Re: Не срабатывает слот Отправлено: __Heaven__ от Июль 14, 2017, 10:55 Ready() точно вызывается?
Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 11:06 Я проверил connect, возвращал true, изменил просто название на Beginning, и связал со слотом QEventLoop::Quit. И заработало...
Может что-то со слотом StartWork(); .... Название: Re: Не срабатывает слот Отправлено: __Heaven__ от Июль 14, 2017, 11:39 Код:
Название: Re: Не срабатывает слот Отправлено: Zusykss от Июль 14, 2017, 17:44 Код:
Проверял, доходит до этого места.... Просто не могу понять чего слот QEventLoop работает, а мой слот не запускается ... |