Qt中QLabel不显示的问题

下面的代码是使用QLabel对图片的显示:

        QLabel * label = new QLabel(this);
        QPixmap pixmap;
        pixmap.load(":/res/LevelCompletedDialogBg.png");
        label->setGeometry(0,0,pixmap.width(),pixmap.height());
        label->setPixmap(pixmap);
//        label->move((this->width() - pixmap.width())*0.5, pixmap.height());
        label->move(10,10);
        label->show();

这段代码在某个QWidget派生类的构造函数中可行,但是通过某个槽函数却不能显示Label。
这是因为上面的代码没有调用show函数!但是为什么在构造函数可以呢,这是因为在Qt中show函数会显示本身和其子widget:
在这里插入图片描述所以父widget假如调用了show,那么就算其子widget没调用show也会显示,但是要是子widget在父widget构造的时候不存在而是后面通过函数创建的,就需要自行手动show!

你可能感兴趣的:(Qt)