自定義控件
不是讓你創造一個全新的控件 使用已有控件 拼出一個新的控件
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的構造函數中:
運行結果: