crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Передача слота в качестве параметра функции
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Xnt Дата 12.12.2007, 15:20
  Спасибо, работает.
ViGOur Дата 12.12.2007, 12:31
  Может попробовать так?
void SlotConnect(const char *pSlot) 
{    
   connect( this, SIGNAL( OpenDb), this, pSlot);
}


Вызов:
SlotConnect( SLOT(pFunc));
Xnt Дата 12.12.2007, 12:03
  Возникла необходимость передавать слот в качестве параметра функции, чтобы в ней его соединить с нужным сигналом. Я делаю так:
class X: public QObject
{
    Q_OBJECT
private slots:
...
    void SlotFunc(){}
...
public:
...
    A(){ SlotConnect( &X::SlotFunc); }
    void SlotConnect( void (X::*pFunc)()){ connect( this, SIGNAL( OpenDb), this, SLOT(pFunc)); }
...
};

Все компилиться, но почему-то не работает. :(
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 3:11