簡體   English   中英

如何在Qt窗口小部件項目(Qt Creator)中更新圖形視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM