Seb*_*ach 6 qt scroll qgraphicsview
我希望有一个永远不会自动滚动的QGraphicsView.
类似:基本上,我的问题与http://developer.qt.nokia.com/forums/viewthread/2220相同,但该主题没有得到答案.
到目前为止我尝试了什么:
小智 7
我的解决方案有点粗略,但我认为它非常直观:如果你不想让QGraphicsView滚动你的东西,请覆盖虚拟方法scrollContentsBy.
void QGraphicsViewDerived::scrollContentsBy(int, int)
{
//don't do anything hah!
}
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方案(不要犹豫,发布您的替代方案:)),但我仍然认为这个答案可能会有所帮助,因为我在谷歌和文档上苦苦挣扎了大约 15 个小时。
关键是不仅要调用fitInView(),还要调用setSceneRect()。这对我来说是这样的(用你自己的类名替换 FooBar ):
void FooBar::resizeEvent(QResizeEvent *) {
fitView();
}
void FooBar::showEvent(QShowEvent *) {
fitView();
}
void FooBar::fitView() {
const QRectF rect = QRectF(-0.5,-0.5, 1, 1);
ui->graphicsView->fitInView(rect,
Qt::KeepAspectRatio);
ui->graphicsView->setSceneRect(rect);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6118 次 |
| 最近记录: |