Qt之QSlider
时间: 2018-09-18来源:OSCHINA
前景提要
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
1、新建QtGUI应用,选取QWidget为基类,取消创建界面
2、widget.h中 #ifndef WIDGET_H #define WIDGET_H #include <QSlider> #include <QLabel> class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); private: QSlider *slider[6]; QLabel *lbl[3]; private slots: void valueChanged1(int value); void valueChanged2(int value); void valueChanged3(int value); }; #endif // WIDGET_H
widget.cpp中 #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] = new QSlider(Qt::Vertical, this); slider[i]->setGeometry(xpos, 20, 30, 80); xpos += 30; } else if(i >= 3) { slider[i] = new QSlider(Qt::Horizontal, this); slider[i]->setGeometry(130, ypos, 80, 30); ypos += 30; } slider[i]->setRange(0, 100); slider[i]->setValue(50); } xpos = 20; for(int i = 0 ; i < 3 ; i++) { lbl[i] = new QLabel(QString("%1").arg(slider[i]->value()), this); lbl[i]->setGeometry(xpos+10, 100, 30, 40); xpos += 30; } connect(slider[0], SIGNAL(valueChanged(int)), this, SLOT(valueChanged1(int))); connect(slider[1], SIGNAL(valueChanged(int)), this, SLOT(valueChanged2(int))); connect(slider[2], SIGNAL(valueChanged(int)), this, SLOT(valueChanged3(int))); } void Widget::valueChanged1(int value) { lbl[0]->setText(QString("%1").arg(value)); slider[3]->setValue(slider[0]->value()); } void Widget::valueChanged2(int value) { lbl[1]->setText(QString("%1").arg(value)); slider[4]->setValue(slider[1]->value()); } void Widget::valueChanged3(int value) { lbl[2]->setText(QString("%1").arg(value)); slider[5]->setValue(slider[2]->value()); } Widget::~Widget() { }
效果:

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行