Qt之QScrollBar
时间: 2018-09-17来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
QScrollBar用于显示控件上不能完全显示的区域,与Slider类似,但是QScrollBar控件可在底部或者右侧使用。可以将其移动到特定区域
1、新建QTGUI应用,基类选择QWidget,取消创建界面
2、widget.h中: #ifndef WIDGET_H #define WIDGET_H #include <QScrollBar> #include <QLabel> #include <QAbstractSlider> class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); private: QScrollBar *vscrollbar[3]; QScrollBar *hscrollbar[3]; 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 = 10; int ypos = 50; for(int i = 0 ; i < 3 ; i++) { vscrollbar[i] = new QScrollBar(Qt::Vertical, this); vscrollbar[i]->setRange(0, 100); vscrollbar[i]->setGeometry(xpos, 30, 20, 200); lbl[i] = new QLabel(QString("%1").arg(vscrollbar[i]->value()), this); lbl[i]->setGeometry(xpos + 2, 220, 30, 30); xpos += 50; hscrollbar[i] = new QScrollBar(Qt::Horizontal, this); hscrollbar[i]->setRange(0, 100); hscrollbar[i]->setGeometry(150, ypos, 200, 20); ypos += 30; } connect(vscrollbar[0], SIGNAL(valueChanged(int)), this, SLOT(valueChanged1(int))); connect(vscrollbar[1], SIGNAL(valueChanged(int)), this, SLOT(valueChanged2(int))); connect(vscrollbar[2], SIGNAL(valueChanged(int)), this, SLOT(valueChanged3(int))); } void Widget::valueChanged1(int value) { lbl[0]->setText(QString("%1").arg(value)); hscrollbar[0]->setValue(vscrollbar[0]->value()); } void Widget::valueChanged2(int value) { lbl[1]->setText(QString("%1").arg(value)); hscrollbar[1]->setValue(vscrollbar[1]->value()); } void Widget::valueChanged3(int value) { lbl[2]->setText(QString("%1").arg(value)); hscrollbar[2]->setValue(vscrollbar[2]->value()); } Widget::~Widget() { }

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行