scrollArea->horizontalScrollBar()->setValue(0)"中没有作用-6ren"> scrollArea->horizontalScrollBar()->setValue(0)"中没有作用-因此,在我的 UI 设计器中,我有一个 ScrollArea 小部件,然后在我的 MainWindow.cpp 中,我创建了一个 QGraphicScene 和一个 QGraphics View 。我-6ren">
gpt4 book ai didi

c++ - 在 QT "ui->scrollArea->horizontalScrollBar()->setValue(0)"中没有作用

转载 作者:行者123 更新时间:2023-11-30 02:31:54 24 4
gpt4 key购买 nike

因此,在我的 UI 设计器中,我有一个 ScrollArea 小部件,然后在我的 MainWindow.cpp 中,我创建了一个 QGraphicScene 和一个 QGraphics View 。我创建了一个新的小部件,并为该小部件提供了一个 QVBoxLayout,以便它可以自动调整大小(这对我来说是正确的)。

然后我使用 ui->scrollArea->setWidget(widget); 使这个新的小部件成为我的 scrollView 的子部件。

所有这一切似乎都是正确的,因为我有滚动条可以用来导航我的场景。然而;使用行 ui->scrollArea->horizo​​ntalScrollBar()->setValue(0); 仍然对滚动条值没有影响。

scene = new QGraphicsScene();
scene->setSceneRect(0,0,2500,2500);
view = new QGraphicsView(scene);

QWidget *widget = new QWidget;
view->setBackgroundBrush(Qt::white);
QVBoxLayout* bLayout = new QVBoxLayout(widget);
ui->scrollArea->setWidget(widget);

bLayout->addWidget(view);

widget->show();

ui->scrollArea->horizontalScrollBar()->setValue(0);
ui->scrollArea->verticalScrollBar()->setValue(0);

最佳答案

我刚遇到这个问题。然后,在用 ui->scrollArea->verticalScrollBar()->value() 调试后,我意识到滚动区域在组件显示在屏幕上之前没有大小,即它不会改变滚动,因为它还不可见。

这是一个示例 Python 代码,但对于 C++ 来说是相同的,除了语言语法。

from PyQt5.QtWidgets import QDialog
...

dialog = QDialog()
...

verticalScrollBar = dialog.QPlainTextEdit.verticalScrollBar()
horizontalScrollBar = dialog.QPlainTextEdit.horizontalScrollBar()

# Has no effect, if you print the values, you will see always 0
verticalScrollBar.setValue( horizontalScrollBar.maximum() )
horizontalScrollBar.setValue( horizontalScrollBar.minimum() )

dialog.show()

# Now it has effect
verticalScrollBar.setValue( horizontalScrollBar.maximum() )
horizontalScrollBar.setValue( horizontalScrollBar.minimum() )
  1. Autoscroll PyQT QTextWidget

关于c++ - 在 QT "ui->scrollArea->horizontalScrollBar()->setValue(0)"中没有作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37023468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com