如何添加新的c++;类,该类继承自Qt小部件应用程序中的QThread
我试着去看youtube上的“虚空王国”教程视频 讲师想添加一个从如何添加新的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.
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中有许多方法可以在不子类化
的情况下执行多线程。Worker对象通常更可取。请参见,您也可以从Qt博客中查看QThread
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中有许多方法可以在不子类化
的情况下执行多线程。Worker对象通常更可取。请参见,您也可以从Qt博客中查看QThread