由于原来网上找的代码,布局是通过代码进行的,我过于菜,布局通过ui界面进行布局,所以代码中有很多//被我注释掉的内容!!!
1、ui界面布局:
2、MyDialog.h:
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
class QLineEdit;
class QSlider;
namespace Ui {
class MyDialog;
}
class MyDialog : public QDialog
{
Q_OBJECT
public:
explicit MyDialog(QWidget *parent = nullptr);
~MyDialog();
private:
Ui::MyDialog *ui;
signals:
public slots:
void setLineEditValue(int value);
//private:
// QLineEdit *lineEdit;
// QSlider *slider;
};
#endif // MYDIALOG_H
3、MyDialog.cpp:
#include "mydialog.h"
#include "ui_mydialog.h"
#include <QLineEdit>
#include <QSlider>
#include <QHBoxLayout>
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
//lineEdit = new QLineEdit("50");
//新建一个水平方向的滑动条QSlider控件
// slider = new QSlider(Qt::Horizontal);
//设置滑动条控件的最小值
ui->slider->setMinimum(0);
//设置滑动条控件的最大值
ui->slider->setMaximum(1000);
//设置滑动条控件的值
// ui->slider->setValue(50);
//信号和槽 当滑动条的值发生改变时,即产生一个valueChanged(int)信号 设置QLineEdit控件的显示文本
connect(ui->slider, SIGNAL(valueChanged(int)), this, SLOT(setLineEditValue(int)));
// QHBoxLayout *layout = new QHBoxLayout();
// layout->addWidget(ui->lineEdit);
// layout->addWidget(ui->slider);
// this->setLayout(layout);
//this->resize(200, 50);
// this->setWindowTitle("QSliderDemo");
}
void MyDialog::setLineEditValue(int value)
{
int pos = ui->slider->value();
QString str = QString("%1").arg(pos);
ui->lineEdit->setText(str);
}
MyDialog::~MyDialog()
{
delete ui;
}
结果显示: