自定義控件詳細教程請看:
Qtcreator 添加自定義控件請看:https://blog.csdn.net/anyuliuxing/article/details/96604213
自定義控件屬性的添加:
1.定義屬性宏.
Q_PROPERTY(自定義屬性 READ 讀取自定義屬性函數 WRITE 設置自定義屬性函數)
2.聲明和定義 變量和函數.
(添加了宏和函數Qtcreator就會自己處理,把屬性顯示到編輯器右側屬性列表中)
示例代碼:
#ifndef TEMPCTRL_H
#define TEMPCTRL_H
#include <QWidget>
class TempCtrl : public QWidget
{
Q_OBJECT
Q_PROPERTY(int m_interval READ getInterval WRITE setInterval)
public:
int m_interval=1;
int getInterval();
void setInterval(int _interval);
TempCtrl(QWidget *parent = 0);
};
#endif // TEMPCTRL_H
動態屬性的添加:
展示圖中右側綠色加號!
自定義屬性動態屬性的訪問:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->label->setNum(ui->tempCtrl->m_interval);
ui->label->setText(ui->tempCtrl->property("name").toString());
}
MainWindow::~MainWindow()
{
delete ui;
}
效果展示: