在Qt Creator中写一般/包含元对象系统的C++代码

2025-10-21 06:55:17

1、首先我们创建一个不包含Qt特性的,普通的C++项目。

在Qt Creator中写一般/包含元对象系统的C++代码

在Qt Creator中写一般/包含元对象系统的C++代码

在Qt Creator中写一般/包含元对象系统的C++代码

在Qt Creator中写一般/包含元对象系统的C++代码

2、然后我们双击.pro项目管理文件。

在Qt Creator中写一般/包含元对象系统的C++代码

3、在其中加入这条语句:

QT += core

然后将原来的CONFIG -= qt改为:

CONFIG += qt

然后保存文件。

在Qt Creator中写一般/包含元对象系统的C++代码

4、到这一步已经算是配置完成了,但是我们还需要注意在之后我们编写子类时,需要继承自QObject基类。

在Qt Creator中写一般/包含元对象系统的C++代码

5、这里贴一段简单的测试代码,表明我们成功的在一般的C++代码中使用了Qt的特性。项目树如下:

在Qt Creator中写一般/包含元对象系统的C++代码

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

在Qt Creator中写一般/包含元对象系统的C++代码

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

在Qt Creator中写一般/包含元对象系统的C++代码

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;

}

在Qt Creator中写一般/包含元对象系统的C++代码

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;

}

在Qt Creator中写一般/包含元对象系统的C++代码

10、运行结果:OK~!

在Qt Creator中写一般/包含元对象系统的C++代码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢