一.介绍

提升为自定义的控件用法:先要写好自定义控件后,再添加,在频繁使用同一控件时,的确非常的高效。

    同时导入别人开发的控件操作方法也类似。

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

1.建立项目后,添加C++类:

QT中提升为自定义控件的方法-LMLPHP

2.添加类Newbutton,Base class中可以直接输入QPushButton作为继承类(也可以选择Custom选项包含的类,但这里面的类比较少):

QT中提升为自定义控件的方法-LMLPHP

2.给类自定义方法 void SetMyText(QString str)及代码修改(蓝色部分)实现:

(1)newbutton.h

#ifndef NEWBUTTON_H

#define NEWBUTTON_H

#include <QPushButton>

class Newbutton : public QPushButton

{

public:

    Newbutton(QWidget *parent=0);

public slots:

    void SetMyText(QString str);

};

#endif // NEWBUTTON_H

(2)newbutton.cpp

#include "newbutton.h"

Newbutton::Newbutton(QWidget *parent):QPushButton(parent)

{

    SetMyText("NewButton");

}

void Newbutton::SetMyText(QString str)

{

    setText(str);

}

三.在UI界面进行控件提升

1.右键控件选择“提升为”

QT中提升为自定义控件的方法-LMLPHP

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

QT中提升为自定义控件的方法-LMLPHP

3.提升后显示:

QT中提升为自定义控件的方法-LMLPHP

四.测试及结果

1.测试代码

QT中提升为自定义控件的方法-LMLPHP

2.测试结果

(1)开始界面

QT中提升为自定义控件的方法-LMLPHP

​​​​​​​

(2).单击button,调用自定义类成员函数:void Newbutton::SetMyText(QString str),显示如下:

QT中提升为自定义控件的方法-LMLPHP

02-28 10:37