如何添加新的c++;类,该类继承自Qt小部件应用程序中的QThread

如何添加新的c++;类,该类继承自Qt小部件应用程序中的QThread,qt,qt-creator,Qt,Qt Creator,我试着去看youtube上的“虚空王国”教程视频 讲师想添加一个从QThread继承的新类MyThread。他进入了新的C++类向导,并将其填充到: 显然,此向导已在较新版本的Qt Creator中更改。以下是我打开它时得到的信息: 从屏幕截图中可以看到,新版本的Qt Creator中缺少“类型信息”字段。那么,我如何添加一个新的C++类继承自 QTrase>代码(考虑到 QTrase继承自 QObjult >?< P> >由于添加了新的向导引擎(参见Qt Blog关于Qt Calor 3.

我试着去看youtube上的“虚空王国”教程视频

讲师想添加一个从
QThread
继承的新类
MyThread
。他进入了新的C++类向导,并将其填充到:

显然,此向导已在较新版本的Qt Creator中更改。以下是我打开它时得到的信息:


从屏幕截图中可以看到,新版本的Qt Creator中缺少“类型信息”字段。那么,我如何添加一个新的C++类继承自<代码> QTrase>代码(考虑到<代码> QTrase<代码>继承自<代码> QObjult<代码> >?< P> >由于添加了新的向导引擎(参见Qt Blog关于Qt Calor 3.3.0发布),“类型信息”选项不再用于自定义类。 新的向导引擎允许用户以
JSON
格式编写自定义向导。你可以看看手册

因为您所需要的只是一个基本的C++类(并且没有<代码>。必须生成UI 表单),快速的解决方法是在向导中设置“基类”到“代码> QObjult<代码>。

生成新文件后,您可以编辑生成的类,使其继承自
QThread
,而不是
QObject
。由于您是Qt新手,下面列出了您需要做的事情:

  • 添加
    #包括
    mythread.h
    文件
  • MyThread.h
    文件中的
    class MyThread:public QObject
    更改为
    class MyThread:public QThread
  • mythread.cpp
    文件中,将
    mythread::mythread(QObject*parent):QObject(parent)
    更改为
    mythread::mythread(QObject*parent):QThread(parent)

  • 旁注:
    • 这只是一个快速的解决方法(它不是问题的最佳解决方案)。一个更通用的解决方案是创建您自己的更好的自定义向导,该向导支持从
      QThread
      继承
    • 请注意,在Qt中有许多方法可以在不子类化
      QThread
      的情况下执行多线程。Worker对象通常更可取。请参见,您也可以从Qt博客中查看

    自从在中添加了新的向导引擎(请参阅关于Qt creator 3.3.0发行版的Qt博客文章)以来,“类型信息”选项不再适用于自定义类

    新的向导引擎允许用户以
    JSON
    格式编写自定义向导。你可以看看手册

    因为您所需要的只是一个基本的C++类(并且没有<代码>。必须生成UI 表单),快速的解决方法是在向导中设置“基类”到“代码> QObjult<代码>。

    生成新文件后,您可以编辑生成的类,使其继承自
    QThread
    ,而不是
    QObject
    。由于您是Qt新手,下面列出了您需要做的事情:

  • 添加
    #包括
    mythread.h
    文件
  • MyThread.h
    文件中的
    class MyThread:public QObject
    更改为
    class MyThread:public QThread
  • mythread.cpp
    文件中,将
    mythread::mythread(QObject*parent):QObject(parent)
    更改为
    mythread::mythread(QObject*parent):QThread(parent)

  • 旁注:
    • 这只是一个快速的解决方法(它不是问题的最佳解决方案)。一个更通用的解决方案是创建您自己的更好的自定义向导,该向导支持从
      QThread
      继承
    • 请注意,在Qt中有许多方法可以在不子类化
      QThread
      的情况下执行多线程。Worker对象通常更可取。请参见,您也可以从Qt博客中查看

    欢迎来到SO。请阅读stackoverflow.com/help/how-to-ask了解该网站的提问标准。欢迎访问SO。请阅读stackoverflow.com/help/how-to-ask了解该网站的提问标准。