我有一个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)
更改小部件的内容后。