1

我正在尝试围绕线程和 gui 应用程序进行研究,以便开始构建它们。我下载了 Qt SDK,但有点迷茫。

为了让我能理解它是如何工作的,我想创建一个由一个文本框和两个按钮组成的 gui 应用程序。每个按钮都将启动一个新线程(因此可以同时运行 3 个:主 gui 线程,以及从按钮启动的 2 个),并且每个都可以访问文本框中的信息。我将如何设置此应用程序?

4

2 回答 2

2

看看 SIGNAL 和 SLOTS 它是 Qt 的基础。

完成之后看看 QThread 和 QThreadPool。

我还推荐这些可怕的教程:http ://www.voidrealms.com/tutorials.aspx?filter=qt

于 2012-10-15T20:16:02.993 回答
1

您必须将一个插槽连接到 QPushButton clicked 信号并从该插槽启动一个新线程,如下所示。

QPushButton *button=new QPushButton();

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

并且 slot startthread 将使用工作类启动新线程

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

其中 WorkerClass 将在单独的线程中执行。

于 2012-10-16T02:57:32.000 回答