void tst_QAbstractScrollArea::setScrollBars2() { QAbstractScrollArea scrollArea; scrollArea.resize(300, 300); QScrollBar *hbar = new QScrollBar; scrollArea.setHorizontalScrollBar(hbar); qApp->processEvents(); QCOMPARE(scrollArea.horizontalScrollBar(), hbar); QScrollBar *vbar = new QScrollBar; scrollArea.setVerticalScrollBar(vbar); qApp->processEvents(); QCOMPARE(scrollArea.verticalScrollBar(), vbar); scrollArea.horizontalScrollBar()->setRange(0, 100); scrollArea.verticalScrollBar()->setRange(0, 100); scrollArea.show(); // Make sure scroll bars are not explicitly hidden by QAbstractScrollArea itself. QVERIFY(hbar->isVisible()); QVERIFY(vbar->isVisible()); // Hide the OLD scroll bar and ensure that the NEW one is hidden. hbar->hide(); scrollArea.setHorizontalScrollBar(new QScrollBar); qApp->processEvents(); QVERIFY(!scrollArea.horizontalScrollBar()->isVisible()); vbar->hide(); scrollArea.setVerticalScrollBar(new QScrollBar); qApp->processEvents(); QVERIFY(!scrollArea.verticalScrollBar()->isVisible()); scrollArea.verticalScrollBar()->show(); scrollArea.horizontalScrollBar()->show(); // Hide the NEW scroll bar and ensure that it's visible // (because the OLD one is visible). hbar = new QScrollBar; hbar->hide(); scrollArea.setHorizontalScrollBar(hbar); qApp->processEvents(); QVERIFY(hbar->isVisible()); vbar = new QScrollBar; vbar->hide(); scrollArea.setVerticalScrollBar(vbar); qApp->processEvents(); QVERIFY(vbar->isVisible()); vbar->setRange(0, 0); qApp->processEvents(); QVERIFY(!vbar->isVisible()); hbar->setRange(0, 0); qApp->processEvents(); QVERIFY(!hbar->isVisible()); }
QScrollBar *ZLQtViewWidget::addScrollBar(QGridLayout *layout, Qt::Orientation orientation, int x, int y) { QScrollBar *scrollBar = new MyQScrollBar(orientation, myFrame); layout->addWidget(scrollBar, x, y); scrollBar->hide(); if (orientation == Qt::Vertical) { connect(scrollBar, SIGNAL(sliderMoved(int)), this, SLOT(onVerticalSliderMoved(int))); connect(scrollBar, SIGNAL(actionTriggered(int)), this, SLOT(onVerticalSliderClicked(int))); } else {
QScrollBar *ZLQtViewWidget::addScrollBar(QGridLayout *layout, Qt::Orientation orientation, int x, int y) { QScrollBar *scrollBar = new QScrollBar(orientation, myFrame); layout->addWidget(scrollBar, x, y); scrollBar->hide(); if (orientation == Qt::Vertical) { connect(scrollBar, SIGNAL(sliderMoved(int)), this, SLOT(onVerticalSliderMoved(int))); connect(scrollBar, SIGNAL(nextLine()), this, SLOT(onVerticalSliderStepNext())); connect(scrollBar, SIGNAL(nextPage()), this, SLOT(onVerticalSliderPageNext())); connect(scrollBar, SIGNAL(prevLine()), this, SLOT(onVerticalSliderStepPrevious())); connect(scrollBar, SIGNAL(prevPage()), this, SLOT(onVerticalSliderPagePrevious())); } else {
void MainWindow::updateScrollBar( bool blockSignals ) { QScrollBar* sb = ui->horizontalScrollBar; if ( PlotsArea==NULL || !PlotsArea->isZoomed() ) { sb->hide(); } else { const FrameInterval intv = PlotsArea->visibleFrames(); sb->blockSignals( blockSignals ); sb->setRange( 0, PlotsArea->numFrames() - intv.count() + 1 ); sb->setValue( intv.from ); sb->setPageStep( intv.count() ); sb->setSingleStep( intv.count() ); sb->blockSignals( false ); sb->show(); } }