Qt設置自定義控件

不是讓你創造一個全新的控件 使用已有控件 拼出一個新的控件

1、定義一個自定義控件

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2、給自己的ui文件 添加常用控件

在這裏插入圖片描述
添加自己需要的控件
在這裏插入圖片描述

3、在其他ui文件中使用 自定義控件MyWidget

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4、改變spinbox的值 進度條移動

spinbox的信號
在這裏插入圖片描述
slider的槽函數
在這裏插入圖片描述
在mywidget.cpp的構造函數

//spinbox改變  導致 slider滑動
    void (QSpinBox:: *p)(int) = &QSpinBox::valueChanged;
    connect(ui->spinBox, p,\
            ui->horizontalSlider, &QSlider::setValue );

在這裏插入圖片描述

5、拖動 slider 更改spinbox

slider的信號:
在這裏插入圖片描述
spinbox槽函數
在mywidget.cpp的函數中
在這裏插入圖片描述

6、自定義控件 提供外部接口

mywidget.h的類中 聲明

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    explicit MyWidget(QWidget *parent = 0);
    ~MyWidget();
    
    //提供設置slider的value接口!!!!!
    void mySetValue(int value);
    //提供獲取slider的value接口!!!!
    int myGetValue(void);
    
private:
    Ui::MyWidget *ui;
};

mywidget.cpp

void MyWidget::mySetValue(int value)
{
    //設置進度條slider的值
    ui->horizontalSlider->setValue(value);
}

int MyWidget::myGetValue()
{
    //獲取進度條的值
    return ui->horizontalSlider->value();
}

widget.cpp的構造函數中:
在這裏插入圖片描述
運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章