QPrintPreviewWidget
があります。ユーザーの入力に基づいてコンテンツをプログラムで更新します。そうするときの問題は、スクロールバーが元の位置にとどまり、先頭に戻る必要があるということです。QPrintPreviewWidgetをプログラムでスクロールする方法は?
非常に大きな番号のscroll
関数を使用しようとしましたが、何もしませんでした。なにか提案を?
編集:ここでは
はQtの創造主で、ダイアログの構造である:
その後、私はこのコードを使用してpreviewWidgetContainter
レイアウトにQPrintPreviewWidget
を追加します。
previewWidget_ = new QPrintPreviewWidget(printer_, this);
previewWidget_->fitToWidth();
ui->previewWidgetContainter->addWidget(previewWidget_);
編集:
@tmpearceさんの提案に従ったが、うまくいかなかった。 showEvent
私は現在のページを設定しましたが、何の効果もありません。私のコードは次のようなものです:
qDebug() << "Before" << previewWidget.currentPage();
previewWidget.setCurrentPage(0);
qDebug() << "After" << previewWidget.currentPage();
そして、これの出力は常にそのようなものです:
Before 15
After 15
私はまた、他のさまざまな場所でページを設定しようとしたが、結果は常に同じです。それはQPrintPreviewWidget
のバグのように見えるので、今はあきらめます。とにかくおかげさまで提案に感謝します。
問題を再現できる最小限のコードを入力できますか? – menjaraz
間違えない限り、QPrintPreviewWidgetはウィジェットであり、スクロールバーを提供しません。 QPrintDialogや他のQAbstractScrollBarサブクラスに埋め込みましたか? – Koying
@menjaraz、ダイアログにウィジェットを追加する方法を示すコードをいくつか追加しました。 –