如何在Qt小工具项目中更新图形视图(Qt Creator)
How to update Graphics View in a Qt Widgets Project(Qt Creator)
我已经使用Qt Creator(Windows 7,MinGW)创建了一个Qt小工具应用程序。
我添加了一个GraphicsView(命名为graphicsView
)和一个按钮(命名为pbClick
)。
on_pbClick_clicked()
函数如下所示:
void MainWindow::on_pbClick_clicked()
{
QGraphicsScene scene;
//adding some text to the scene
scene.addText("Hello, world!", QFont("Times", 20, QFont::Bold));
ui->graphicsView->setScene(&scene);
ui->graphicsView->show();
}
当我单击pbClick
按钮时,graphicsView
内不会发生任何事情。
我如何才能在graphicsView
中显示"你好,世界!"文本。
如果在堆栈上创建场景,这是一个问题,请尝试在堆上创建它(使用指针)。在这种情况下,如果没有任何错误,一切都应该正常。正如医生所说:
视图不会取得场景的所有权。
http://qt-project.org/doc/qt-5/qgraphicsview.html#setScene
这意味着当您在堆栈上创建场景时,该场景将在on_pbClick_clicked
插槽的"最后"被删除。所以你的场景已经不存在了,你什么也看不见。
QGraphicsScene *scene = new QGraphicsScene;
//adding some text to the scene
scene->addText("Hello, world!", QFont("Times", 20, QFont::Bold));
ui->graphicsView->setScene(scene);
ui->graphicsView->show();
相关文章:
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 控制带有信号/插槽的Qt QML滑动视图
- 透视视图的任何解决方案 openGL qt.
- Qt 如何使用鼠标移动事件移动视图
- 当用户在键盘上按住 CTRL 键时,如何在树视图中的 Qt 中实现多选?
- QT Filesystembrowser:如何更改根目录和更新视图
- 将树视图链接到表视图?[QT]
- Qt:将 c++ 中的列表连接到 QML 中的列表视图
- 如何在按下按钮时在Qt表格视图中自动选择下一行?
- Qt C++ - 在一个视图中显示来自多个SQLite表的数据
- 在QT视图中显示位图数据
- Qt中数据类(模型)和视图/控制器类之间的数据通信的正确方式是什么
- Qt在QtWebEngine视图中显示QImage或像素映射(从C++到HTML)
- Qt- 设置来自表视图的输入的验证器
- QT MVC 模式未更新视图 - 特定的 SimpleTreeModel 示例
- 无法在 QML 列表视图中调用 Qt c++ 方法
- 用鼠标中键按下qt图表移动视图
- Qt c++ 在表格视图中换行文本(富文本)
- 了解Qt视图模型架构:何时创建以及如何在QAbstractItemModel实现中清除索引