VS2019+QT 制作自定义控件
1.新建Qt Designer Custom Widget 项目
2. 项目中会有如下2个文件
myMultiCustomControl.h
myMultiCustomControlPlugin.h
3.打开 myMultiCustomControl.h,代码如下
class QDESIGNER_WIDGET_EXPORT MultiCustomControl : public QWidget
{
Q_OBJECT
Q_PROPERTY(QString mText READ tipText WRITE setTipText)
public:
MultiCustomControl(QWidget *parent = Q_NULLPTR);
~MultiCustomControl();
public:
inline QString tipText() {return mTipLable == nullptr ? QString() : mTipLable->text(); }
void setTipText(const QString& text);
private:
QHBoxLayout* mMainLayout = nullptr;
QLabel* mTipLable = nullptr;
QPushButton* mPushButton = nullptr;
};
myMultiCustomControl.cpp代码如下
#include "myMultiCustomControl.h"
MultiCustomControl::MultiCustomControl(QWidget *parent)
: QWidget(parent)
{
mMainLayout = new QHBoxLayout;
mTipLable = new QLabel("tipLable");
mPushButton = new QPushButton("pushBtn");
mMainLayout->addWidget(mTipLable);
mMainLayout->addWidget(mPushButton);
this->setLayout(mMainLayout);
}
MultiCustomControl::~MultiCustomControl()
{
}
void MultiCustomControl::setTipText(const QString & text)
{
mTipLable->setText(text);
}
myMultiCustomControlPlugin.h
#pragma once#include
class MultiCustomControlPlugin : public QObject, publicQDesignerCustomWidgetInterface
{
Q_OBJECT