crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 10 сообщений [ в обратном порядке ]
niXman Дата 27.8.2008, 23:56
  Tonal, Зделал :p
Tonal Дата 26.8.2008, 6:54
  Там кнопочка для спасибы есть. :)
niXman Дата 25.8.2008, 21:42
  Tonal, Ага! Спасибо!
Tonal Дата 25.8.2008, 7:13
 
Цитата(Litkevich Yuriy @ 23.8.2008, 11:25) *

Кстати, можно сделать такой объект более универсальным:
class TmpSlot: QObject {
  Q_OBJECT
public:
  typedef void(*RealSlot)();
  TmpSlot(RealSlot realSlot, QWidget *parent = 0) :
    QObject(parent), realSlot(realSlot) {
    assert(realSlot);
  }

public slots:
    void doSlot() {realSlot();}
private:
  RealSlot realSlot;
};

Тогда использование становится таким:
int main(int argc, char *argv[]) {
  QPushButton *btnPath = new QPushButton("Open");
....
  TmpSlot tmp(&myfunk);
  QObject::connect(btnPath, SIGNAL(clicked()), &tmp, SLOT(doSlot()));
....
}
niXman Дата 23.8.2008, 10:52
  Litkevich Yuriy, Ну это понятно. Меня такое не устраивает.
Litkevich Yuriy Дата 23.8.2008, 7:25
  см. использование Сигналов без Слотов
niXman Дата 23.8.2008, 0:33
  Допустим. Некоторый объект испускает сигнал, который можно соединить со слотом другого объекта. Это стандартная ситуация.
А как быть если сигнал нужно соединить с функцией, не являющейся членом?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 13.8.2020, 20:32