[英]How to update Graphics View in a Qt Widgets Project(Qt Creator)
我已經使用Qt Creator(Windows 7,MinGW)創建了Qt Widgets應用程序。
我添加了一個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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.