Название: Передача сигналов и слотов в функции Отправлено: pashazz от Июнь 12, 2010, 02:17 Есть некий враппер, между либой и приложением. Враппер - класс, в котором все функции - pure virtual. Класс переопределяется в приложениию
Есть функция: virtual void showProgressBar (QString title, const char * cancelSlot) = 0; cancelSlot - слот, который должен быть вызван при нажатии кнопки "Отмена". Функция реализована в приложении так: Код
Вызывается так: ui->showProgressBar(tr("Downloading Wine..."), SLOT(cancelCurrentOperation())); При этом слот объявлен так: Код: class corelib : public QObject Код Когда выполняю программу - showProgress вызывается, но connect со слотом, который передается во 2-м аргументе в виде const char * не происходит. Выхлоп: Код: Showing progressbar with a slot 1cancelCurrentOperation() Как бы мне вырулить из этой ситуации? Название: Re: Передача сигналов и слотов в функции Отправлено: lit-uriy от Июнь 12, 2010, 05:17 какая-то ерунда у тебя получается.
Слот является личным (private) для класса corelib, а в WinegameUi::showProgressBar ты пишешь: Цитировать ..., this, cancelSlot Название: Re: Передача сигналов и слотов в функции Отправлено: zenden от Июнь 12, 2010, 11:16 передавай не только название слота но и указатель на объект
Название: Re: Передача сигналов и слотов в функции Отправлено: GreatSnake от Июнь 12, 2010, 11:22 И зачем городить огород?
Чем QProgressDialog::exec() не подходит? Название: Re: Передача сигналов и слотов в функции Отправлено: pashazz от Июнь 12, 2010, 15:43 передавай не только название слота но и указатель на объект Спасибо, помогло. |