如何将Qt控件类提升为自定义类?
这里以按钮为例,创建一个新的项目:example
创建一个CustomButton
类:
修改custombutton.h
和custombutton.cpp
//custombutton.h #ifndef CUSTOMBUTTON_H #define CUSTOMBUTTON_H #include <QPushButton> class CustomButton : public QPushButton { public: explicit CustomButton(QWidget *parent = nullptr); QString getButtonText() {return "customButton";} }; #endif // CUSTOMBUTTON_H
//custombutton.cpp #include "custombutton.h" CustomButton::CustomButton(QWidget *parent) : QPushButton(parent) { }
在widget.ui
中拖一个QPushbutton
,右键“提升为”,提升的类名称中填入CustomButton
,点击添加,之后点击提升即可。
可以看到右边的类已经变为CustomButton
:
回到widget.cpp
,在构造函数中使用一下:
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); ui->pushButton->setText(ui->pushButton->getButtonText()); }
运行:
可以看到调用成功,提升成功!