Ich glaube, Sie können den Inhalt von QScrollArea scrollen, indem Sie Positionen für seine horizontalen und vertikalen Bildlaufleisten festlegen. Smth, wie folgt aus:
scrollArea->verticalScrollBar()->setValue(scrollArea->verticalScrollBar()->value() + 10);
scrollArea->horizontalScrollBar()->setValue(scrollArea->horizontalScrollBar()->value() + 10);
Code oben sollte Inhalt der Scroll-Bereich 10 Pixel nach unten und 10 Pixel rechts jedes Mal
hoffe, das hilft bewegen, sieht
Edit0 aufgerufen wird: zusätzlicher Codeausschnitt, der zeigt, wie der Bereich im Konstruktor des Formulars gescrollt wird:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QLabel *imageLabel = new QLabel;
QImage image("my_large_image_file.JPG");
imageLabel->setPixmap(QPixmap::fromImage(image));
ui->scrollArea->setBackgroundRole(QPalette::Dark);
ui->scrollArea->setWidget(imageLabel);
ui->scrollArea->horizontalScrollBar()->setValue(100);
ui->scrollArea->verticalScrollBar()->setValue(100);
}
Leider funktioniert es auch nicht, wenn es vom Widget-Konstruktor oder showEvent aufgerufen wird. – majaen
Ich denke, Sie sollten etwas von Ihrem Code, da diese Lösung für mich in meinem Formular-Widget-Konstruktor –
Ok, ich habe den Fehler gefunden. Vor dem Einstellen der Bildlaufleisten gab es eine Größenänderung (maximumSize()), was offensichtlich keine gute Idee ist (aber ich bin mir nicht sicher, warum dies das scrollAreas-Verhalten auf diese Weise beeinflusst hat). – majaen