Какова структура простого многопоточного графического приложения, использующего Qt?

Я пытаюсь обернуть голову вокруг потоковых и графических приложений, чтобы начать их создавать. Я скачал Qt SDK, но немного растерялся.

Чтобы я мог понять, как это работает, я хочу создать приложение с графическим интерфейсом, которое состоит из текстового поля и двух кнопок. Каждая кнопка запускает новый поток (таким образом, 3 могут выполняться одновременно: основной поток графического интерфейса и 2, инициируемые с помощью кнопок), и каждая из них будет иметь доступ к информации в текстовом поле. Как бы я настроить это приложение?

1

Решение

Посмотрите на СИГНАЛ и СЛОТЫ, это основа Qt.

После того, как вы это сделаете, взгляните на QThread и QThreadPool.

Также я рекомендую эти удивительные уроки: http://www.voidrealms.com/tutorials.aspx?filter=qt

2

Другие решения

Вы должны подключить слот к сигналу щелчка QPushButton и запустить новый поток из этого слота, как показано ниже.

QPushButton *button=new QPushButton();

connect(button,SIGNAL(clicked()),this,SLOT(startthread()));

И слот startthread будет запускать новый поток с рабочим классом

void MyClass::startthread()
{
QThread *thread=new QThread();
WorkerClass * worker=new WorkerClass();
worker->moveToThread(thread);
thread->start()
}

Где WorkerClass будет выполняться в отдельном потоке.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector