如何以编程方式滚动QPrintPreviewWidget?

时间:2012-03-11 08:38:52

标签: c++ qt scroll

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

我尝试使用scroll函数,但函数非常大,但没有做任何事情。有什么建议吗?

修改

以下是Qt Creator中对话框的结构:

enter image description here

然后我使用以下代码将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中的一个错误,所以我现在要放弃了。无论如何,谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

在不了解您的代码细节的情况下,我的建议是明确调用this slot: QPrintPreviewWidget::setCurrentPage(int)

更改小部件的内容后。