چرا QGraphicView چیزی نشون نمی ده - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چرا QGraphicView چیزی نشون نمی ده

0 امتیاز

سلام.

من کد زیر را واسه کلیک QPushButton نوشتم ولی نمی دونم چرا چیزی نشون داده نمی شه؟

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();
}

علت چیه دوستان؟؟

سوال شده آبان 13, 1393  بوسیله ی Hoshyar (امتیاز 65)   5 12 18
دوباره تگ گذاری شد آبان 14, 1393 بوسیله ی مصطفی ساتکی

1 پاسخ

0 امتیاز

نباید هم نشون بده چون scene در تابع on_pbClick_clicked در stack تعریف شده و پس از خروج از تابع معتبر نیست پس شما می بایستی scene را در heap قرار دهید تا بعد از خروج ار تابع نیز معتبر باشد.به صورت زیر:

void MainWindow::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();
}

 

پاسخ داده شده آبان 14, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...