Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: IPFreely от Январь 24, 2008, 16:01



Название: Проблема с сигналами и слотами
Отправлено: IPFreely от Январь 24, 2008, 16:01
Привет!
Я пишу Qt приложение с использованием модулей QtScript
И у меня возникла следующая проблема:
Есть главная форма, также есть дополнительная форма(на ней кнопка) и жаваскрипт к этой дополнительной форме
В главной форме загружаю через QUiLoader дополнительную форму(родителем дополнительной формы устанавливаю главную форму), загружаю жаваскрипт(внутри жаваскрипта на кнопку по клику вешаю сигнал на зызов функции).
Но при нажатии на кнопку ничего не происходит - функция не срабатывает.

Если же кнопка находится на главной форме - то все ок! все срабатывает
Примеры - в аттечче

В чем может быть проблема? помогите пожалуйста разобраться.

Спасибо.

PS: Qt 4.3.2 на Linux Gentoo 2.6.20-gentoo-r3
PSS: Когда приложение работает на консоль должно выводиться "it works!!! :-)" после клика на кнопку "Click me"


Название: Re: Проблема с сигналами и слотами
Отправлено: Dodge от Январь 24, 2008, 16:34
Вообще плохо понимаю как у вас там чтото работает... у вас в mainForm::mainForm написанно:
Код:
...
QScriptEngine engine;
...
т.о. engine создан в стэке функции, следовательно после выхода из функции, объект engine умрет,
и весь ваш скрипт в контексте движка вместе с ним.

З.Ы. не выкладывайте архивы с исходниками, на форуме есть ббкод для этого.


Название: Re: Проблема с сигналами и слотами
Отправлено: Dodge от Январь 24, 2008, 17:01
Да, второй пример то не пояснил...

Во втором(work который) все верно, у вас в main'е создается движек, происходит evaluate и app.exec(), т.о. пока не будет зделан app.quit() или не закроются все окна(это событие по умолчанию, если не ошибаюсь его можно отключить), приложение будет находится в цикле обработки сообщений.

По поводу отключить.
В ранних версиях qt4, событие "закрытие последнего окна", приходилось соединят с выходом - руками.
Сейчас как это zделанно я не интересовалсо.


Название: Re: Проблема с сигналами и слотами
Отправлено: IPFreely от Январь 24, 2008, 17:14
спасибо!
блин! гдето на форумах буквально недавно натыкался на похожую ситуацию(когда объект объявлен локально) и про себя смеялся - как можно быть таким невнимательным...и сам наступил на этиже грабли :-) бывает же!