Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2013, 23:45   #1
ser70
Форумчанин
 
Аватар для ser70
 
Регистрация: 02.10.2009
Сообщений: 255
По умолчанию QThread

Вот код:
Код:
#include <QtGui>
#include "mainwindow.h"

class MyThread : public QThread {
    Q_OBJECT
private:
    int m_nValue;
public:
    MyThread() : m_nValue(10) {}
    void run() {
        QTimer timer;
        connect(&timer, SIGNAL(timeout()), SLOT(slotNextValue()));
        timer.start(1000);

        exec();
    }
signals:
    void finished();
    void currentValue(int);
public slots:
    void slotNextValue() {
        emit currentValue(--m_nValue);

        if(!m_nValue) {
            emit finished();
        }
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLCDNumber lcd;
    MyThread thread;

    QObject::connect(&thread, SIGNAL(currentValue(int)), &lcd, SLOT(display(int)));
    QObject::connect(&thread, SIGNAL(finished()), &app, SLOT(quit()));

    lcd.setSegmentStyle(QLCDNumber::Filled);
    lcd.display(10);
    lcd.resize(220, 90);
    lcd.show();

    thread.start();

    return app.exec();
}

#include "main.moc"
Выдает ошибку: неопределенная ссылка на `виртуальные таблицы для MyThread '

В книге написано ещё, что нужно подключить файл #include "main.moc", чтобы сгенерировать MOC файл, но Qt creator не знает этого файла.
Я думаю, что нужно подключить модуль где-то в pro - файле, но я не знаю какой??? Помогите кто чем может!!!!
"Реальность воображаема, а воображаемое - реально" В. Соло
ser70 вне форума Ответить с цитированием
Старый 28.04.2013, 09:32   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Разбей класс на h и cpp файлы и включение moc файла убери
Hemul вне форума Ответить с цитированием
Старый 28.04.2013, 12:26   #3
ser70
Форумчанин
 
Аватар для ser70
 
Регистрация: 02.10.2009
Сообщений: 255
По умолчанию

Спасибо помогло!!!
"Реальность воображаема, а воображаемое - реально" В. Соло
ser70 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QNetwork + QThread (+SQLite) Lindemann66 Qt и кроссплатформенное программирование С/С++ 0 15.09.2011 14:52
Вопрос касательно QThread Lindemann66 Qt и кроссплатформенное программирование С/С++ 2 08.09.2011 12:55
Маленький вопрос касаемо QThread max count Lindemann66 Qt и кроссплатформенное программирование С/С++ 1 05.09.2011 17:22
Нужен совет (QWidget в отдельном QThread) Lindemann66 Qt и кроссплатформенное программирование С/С++ 0 30.08.2011 11:43