我有一个QPrintPreviewWidget,我根据用户输入以编程方式更新其内容。这样做的问题是,滚动条保持在原位置,而我需要它回到顶部。

我尝试使用很大的scroll函数,但没有执行任何操作。有什么建议吗?

编辑:

这是Qt Creator中对话框的结构:



然后,使用以下代码将QPrintPreviewWidget添加到previewWidgetContainter布局中:

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中的错误,所以我现在就放弃。无论如何,谢谢您的建议。

最佳答案

在不了解更多代码细节的情况下,我的建议是显式调用this slot: QPrintPreviewWidget::setCurrentPage(int)

更改小部件的内容后。

08-24 19:00