Название: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 17:21 Код
при указании Код
прога запускатся но функция не вызывается а при вызове без аргумента Код
функция вызывается в чём проблема? Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 17:23 Нельзя связывать сигнал со слотом, у которого больше параметров или не совпадают типы параметров
Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 17:36 а как это сделать
пробывал Код
тоже функция игнорируется Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 17:39 У слота triggered() нет параметров, поэтому связать ты его можешь только со слотом без параметров. Система не может вызвать слот, потому что нечего ему в параметр передать. Что ты ожидаешь увидеть значением silka?
Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 17:45 верхний кусок кода сидит в цикле
из файла читается имя закладки, и ссылка куда она идёт всё это компонуется в выпадающее меню. ссылки разные я их хочу открывать через одну функцию, и не писать их 10 одинаковых добавил, в функцию параметр silka = ссылка на которую нужно перебросить вебвьювер. Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 17:52 Идею понял, но не вижу где хранится адрес куда нужно перейти.
Могу дать такой совет: Сделай наследника QAction, которому добавь поле адреса для перехода. Его сигнал triggered() соедини со слотом openFav(). В слоте вызови sender(), получишь ссылку на объект, пославший сигнал. Приведи его к твоему типу, вытащи из него адрес перехода и переходи Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 17:56 И советую внимательно прочитать про сигналы-слоты, ибо подозреваю что концепцию ты понял неправильно
Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 17:59 адрес храниться в файле
при первом вызове и обработке цикла получаем silka - это QString'овая переменная которая и хранит адрес вида "main/index.html", я её как аргумент и передаю в функцию в которой её передаю вебвьюверу Код
было бы проще если бы можно было вызывать эту строчку из слота не используя функцию Код
скорее всего я это понимаю не правильно, читал, ещё раз читаю, но как видно ничего не понимаю Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 18:03 Цитировать SLOT(uiIT.wvMain->setUrl(QUrl(silka))) Видимо ты считаешь что тут происходит задание значения параметров. Но это не так. Тут ты просто указываешь какую функцию надо вызвать. А в скобках надо перечислять не значения параметров, с которыми функция будет вызвана, а типы параметров, которые она принимает. Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 18:08 а параметры тогда как передаются?
Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 18:10 Параметры слот получает от вызвавшего его сигнала(если они у сигнала есть). Сигнал triggered() не передает никаких параметров, потому что значит только что действие активировано (параметров у этого события нет никаких)
Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 18:13 а click() ?
Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 18:14 Пустые скобочки намекают что у него тоже нет параметров. Я тебе выше рассказал как будет работать
Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 18:16 ясно
а по верхнему я ничего не понял вобще =) Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 18:17 извиняюсь, введен твоим кодом в заблуждение. в документации сигнал выглядит как
Код: void QAction::triggered ( bool checked = false ) Название: Re: Игнорирование SLOT'a Отправлено: mutineer от Апрель 07, 2011, 18:22 создаешь класс GoAction, который наследуешь от QAction. У него будет поле с адресом.
И делаешь так: Код: favin = new GoAction("name",this); Название: Re: Игнорирование SLOT'a Отправлено: Mish_ka от Апрель 07, 2011, 20:06 спасибо!
Название: Re: Игнорирование SLOT'a Отправлено: Igore от Апрель 08, 2011, 09:53 Не надо плодить классы, для этого случая есть QSignalMapper.
|