1、首先我们创建一个不包含Qt特性的,普通的C++项目。
2、然后我们双击.pro项目管理文件。
3、在其中加入这条语句:QT += core然后将原来的CONFIG -= qt改为:CONFIG += qt然后保存文件。
4、到这一步已经算是配置完成了,但是我们还需要注意在之后我们编写子类时,需要继承自QObject基类。
5、这里贴一段简单的测试代码,表明我们成功的在一般的C++代码中使用了Qt的特性。项目树如下:
6、//main.h#ifndef MAIN_H#define MAIN_H#include <QObject>#include <QtCore/QDebug>#include <QString>#include <iostream>#include <string>using std::cin;using std::cout;using std::endl;#endif // MAIN_H
7、//myclass.h#ifndef MYCLASS_H#define MYCLASS_H#include <main.h>class myclass : public QObject{ Q_OBJECT Q_PROPERTY(QString myname_same MEMBER myname)private: QString myname;public: explicit myclass(QObject *parent = nullptr); void setname(const QString &str_1); void showname();signals:public slots:};#endif // MYCLASS_H
8、//main.cpp#include "myclass.h"using namespace std;int main(){ myclass *p = new myclass; p->showname(); p->setname("2333333333"); p->showname(); p->setProperty("myname_same","zxy"); cout<<"myname_same:"<<((p->property("myname_same")).toString()).toStdString()<<endl; p->showname(); delete p; return 0;}
9、//myclass.cpp#include "myclass.h"myclass::myclass(QObject *parent) : QObject(parent){ myname="233";}void myclass::setname(const QString &str_1) { myname = str_1;}void myclass::showname() { cout <<"myname:"<< myname.toStdString() << endl;}
10、运行结果:OK~!