Russian Qt Forum
Ноябрь 26, 2024, 17:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигнально - слотовое соединение потоков  (Прочитано 12473 раз)
helga1917
Гость
« : Октябрь 31, 2013, 09:25 »

Здравствуйте, пытаюсь передать значение из одного потока в другой. Но компилятор пишет, что не находит слот. Что делаю не так?

thread.h:
Код:
#include <QThread>

class thread : public QThread

{ Q_OBJECT

public:
    thread();
    int value;
    void run()
    {     for (int i=0; i<10; i++)
           {
             value = i;
             emit send_value (value);
            }
     }
signals:
         void send_value (int);
};

window.h:
 
Код:
#include <QMainWindow>
#include <QDebug>

class window : public QMainWindow
{
   Q_OBJECT
public:
        window();
public slots:
        void print (int g)
         {
            qDebug() << g << "\n";
          }
};

main.cpp:
Код:
#include <QApplication>
#include "window.h"
#include "thread.h"

int main (int argc, char *argv[])
       QApplication a (argc,argv);

         window win;
         thread obj;

        QObject::connect (&obj, SIGNAL ( send_value(int) ), &obj , SLOT ( print(int) ));

        win.show();
        obj.start();

return a.exec();
}

опечатка  Улыбающийся все работает
 QObject::connect (&obj, SIGNAL ( send_value(int) ), &obj &win , SLOT ( print(int) ));
« Последнее редактирование: Октябрь 31, 2013, 09:38 от helga1917 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.