#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
int xpos = 20,ypos =20;
for(int i=0;i<6;i++)
{
if(i<=2)
{
slider[i]=QSharedPointer<QSlider>
(new QSlider(Qt::Vertical,this)); //세로로세움
slider[i]->setGeometry(xpos,20,30,80);
xpos +=30;
}
else if(i >= 3)
{
slider[i] = QSharedPointer<QSlider>
(new QSlider(Qt::Horizontal,this));//가로로눕힘
slider[i]->setGeometry(130,ypos,80,30);
ypos += 30;
}
slider[i]->setRange(0,100); //크기설정 0~100
slider[i]->setValue(50); //초기값 값 설정
}
xpos = 20;
for(int i=0;i<3;i++)
{
QString str = QString("%1").arg(slider[i]->value());
lb[i] = QSharedPointer<QLabel>(new QLabel(str,this));
lb[i]->setGeometry(xpos+10,100,30,40);
xpos +=30;
}
connect(slider[0].get(),SIGNAL(valueChanged(int)),//값이 바뀔떄마다 valueChnaged호출
this,SLOT(valueChanged1(int)));
connect(slider[1].get(),SIGNAL(valueChanged(int)),
this,SLOT(valueChanged2(int)));
connect(slider[2].get(),SIGNAL(valueChanged(int)),
this,SLOT(valueChanged3(int)));
}
void Widget::valueChanged1(int value)
{
lb[0]->setText(QString("%1").arg(value)); //라벨을 slider의 값으로 바꿈
slider[3]->setValue(slider[0]->value());
}
void Widget::valueChanged2(int value)
{
lb[1]->setText(QString("%1").arg(value));
slider[4]->setValue(slider[1]->value());
}
void Widget::valueChanged3(int value)
{
lb[2]->setText(QString("%1").arg(value));
slider[5]->setValue(slider[2]->value());
}
Widget::~Widget()
{
}