Название: [solved]signal clicked и slot с параметром qstring Отправлено: Blayder от Июль 11, 2009, 18:43 идея такова:
к трем кнопкам по сигналу клика прикручивается слот принимающий параметр типа qstring таким образом Код: QPushButton *btnSelAll = new QPushButton("&All"); и собстна сам слот: Код: bool sql_test::sqlRemonti(const QString& list) и его обьявление в заголовочном файле: Код: public slots: Вся идея такова: - имеется 3 кнопки и 1 слот. - в зависимости от того, какая кнопка нажата, через переданный параметр слота определяется какой запрос выполнить. т.е. таким образом хочу вместо трех слотов с разными запросами сделать 1 слот с параметром. какова проблема: - switch отказывается принимать QString переменную, жалуясь шо она не интеджер.... - если закоментить свитч и откомпилить прогу, при старте в логе проскакивют строки, что : Код: QObject::connect: Incompatible sender/receiver arguments Поскольку пока тока пытаюсь освоить кьют, такие проблемы и возникают... все наверно весьма элементарно :( ОС - ArchLinux, Qt v. 4.5.2-1 Название: Re: signal clicked и slot и параметром qstring Отправлено: Rcus от Июль 11, 2009, 18:45 Assistant -> QSignalMapper
Название: Re: signal clicked и slot с параметром qstring Отправлено: Blayder от Июль 11, 2009, 19:15 Премного благодарен, Rcus:
с QSignalMapper вышло оч хорошо, но как вот switch со стрингами работать заставить - еще открыто... Пока попробовал через if ... else прописать и работает, но хотелось бы со switch сделать как надобно... Название: Re: signal clicked и slot с параметром qstring Отправлено: spectre71 от Июль 11, 2009, 19:19 Премного благодарен, Rcus: Используй Hashс QSignalMapper вышло оч хорошо, но как вот switch со стрингами работать заставить - еще открыто... Пока попробовал через if ... else прописать и работает, но хотелось бы со switch сделать как надобно... Название: Re: signal clicked и slot с параметром qstring Отправлено: Blayder от Июль 11, 2009, 20:06 Если я правильно нашел, то Вы имели ввиду:
Код: QHash<QString, int> hash; Если так, то ИМХО всеравно проще поюзать if ... else в конткретно моем варианте: Код: if ( list == "Ungiven" ) Но приму к сведению ваш совет. Перимного благодарен всем, кто подсказал ::) |