【QT】QT自定义C++类

在使用Qt的ui设计时,Qt为我们提供了标准的类,但是在很多复杂工程中,标准的类并不能满足所有的需求,这时就需要我们自定义C++类。

下面以自定义的QPushButton作一个很简单的例子。

先新建默认Qt Widgets Application项目


一、自定义类

建立项目后,添加类MyBtn,Base class中可以直接输入QPushButton作为继承类

【QT】QT自定义C++类_第1张图片

新建自定义方法 void SetMyText(QString str),

MyBtn.h

// 自定义添加类,写代码前,要先编译一下,确保没有错误,再继续写。
#ifndef MYBTN_H
#define MYBTN_H

#include 

class MyBtn : public QPushButton
{
    Q_OBJECT
public:
    MyBtn(QWidget *parent=0);

    void SetMyText(QString str);
};

#endif // MYBTN_H

MyBtn.cpp

#include "mybtn.h"

MyBtn::MyBtn(QWidget *parent):QPushButton(parent)
{

}

void MyBtn::SetMyText(QString str)
{
    setText(str);
}

新建类完成

【QT】QT自定义C++类_第2张图片

二、在UI界面使用 “提升为”

添加QPushButton控件,点击提升为,输入我们的自定义类名称,点击添加

【QT】QT自定义C++类_第3张图片

添加完后出现提升的类名,勾选后点击提升
【QT】QT自定义C++类_第4张图片

这样,该按钮就提升为了自定义控件,
【QT】QT自定义C++类_第5张图片

在mainwindow中可以使用我们自定义的方法,运行后
【QT】QT自定义C++类_第6张图片

以上为简单的示范例子,可以根据需求使用更多的自定义方法

小提示:如果编译出现了“无法解析的外部符号”这种错误,执行qmake后再重新编译即可。




你可能感兴趣的:(【QT】,qt,开发语言)