在使用Qt的ui设计时,Qt为我们提供了标准的类,但是在很多复杂工程中,标准的类并不能满足所有的需求,这时就需要我们自定义C++类。
下面以自定义的QPushButton作一个很简单的例子。
先新建默认Qt Widgets Application项目
一、自定义类建立项目后,添加类MyBtn,Base class中可以直接输入QPushButton作为继承类
新建自定义方法 void SetMyText(QString str),
MyBtn.h
// 自定义添加类,写代码前,要先编译一下,确保没有错误,再继续写。#ifndef MYBTN_H#define MYBTN_H#include <QPushButton>class MyBtn : public QPushButton{Q_OBJECTpublic:MyBtn(QWidget *parent=0);void SetMyText(QString str);};#endif // MYBTN_HMyBtn.cpp
#include "mybtn.h"MyBtn::MyBtn(QWidget *parent):QPushButton(parent){}void MyBtn::SetMyText(QString str){setText(str);}新建类完成
二、在UI界面使用 “提升为”添加QPushButton控件,点击提升为,输入我们的自定义类名称,点击添加
添加完后出现提升的类名,勾选后点击提升
这样,该按钮就提升为了自定义控件,
在mainwindow中可以使用我们自定义的方法,运行后
以上为简单的示范例子,可以根据需求使用更多的自定义方法
小提示:如果编译出现了“无法解析的外部符号”这种错误,执行qmake后再重新编译即可。