由于課題專案要求需要實作界面,主要是在Qt中實作:
1. 拖水平滑塊slider改變spin box值,改變spin box值水平滑塊slider自動變換
2. 獲取spin box中當前值
3. 設定為一半按鈕
這個屬于屬于自定義控制元件的封裝
首先,創建設計師界面,并命名為:SmallWidget

選擇 Widget即可,然后拖拽widget,Spin box,Horizontal Slider

構建成組合按鈕

然后,組件好后,在主widget中,加入widget部件,并提升為:

最后,在smallwidget中寫信號/槽,代碼將兩者關聯起來
SmallWidget::SmallWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::SmallWidget)
{
ui->setupUi(this);
//QSpinBox移動 QSlider跟著移動
void(QSpinBox:: * spSignal )(int) = &QSpinBox::valueChanged;
connect(ui->spinBox , spSignal , ui->horizontalSlider , &QSlider::setValue);
//QSlider滑動 QSpinBox數字跟著改變
connect(ui->horizontalSlider, &QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);
}
即可作出該效果:

2. 獲取資料設定框spin box 當前值
在smallwidget.cpp中寫好函式:(在smallwidget.h 中提前申明)
//設定數字
void SmallWidget::setNum(int num)
{
ui->spinBox->setValue(num);
}
//獲取數字
int SmallWidget::getNum()
{
return ui->spinBox->value();
}
在widget.cpp 中 寫好 信號/槽 連接
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//點擊獲取 獲取當控制元件當前的值
connect(ui->btn_get,&QPushButton::clicked , [=](){
qDebug() << ui->widget->getNum();
});
//設定到一半
connect(ui->btn_set,&QPushButton::clicked,[=](){
ui->widget->setNum(50);
});
}
效果為:

特此申明:本代碼學習參考視頻為 2019年最新QT從入門到實戰完整版|傳智播客 https://www.bilibili.com/video/BV1g4411H78N?p=30
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/211687.html
標籤:其他
