Qt 中父子窗口展示和隐藏的奇怪关系

 
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QLabel *label = new QLabel(QStringLiteral("中国龙"));
    label->setParent(this);
    label->setWindowFlags(label->windowFlags()|Qt::Tool);
   // label->setParent(this);
    label->hide();
    this->setFixedSize(200,200);
    QTimer::singleShot(5000,[=]{label->show();});
}
这样在隐藏程序的时候,label会弹出出来。
 
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QLabel *label = new QLabel(QStringLiteral("中国龙"));
     label->setWindowFlags(label->windowFlags()|Qt::Tool);
    label->setParent(this);
    label->hide();
    this->setFixedSize(200,200);
    QTimer::singleShot(5000,[=]{label->show();});
}
这样在隐藏程序的时候,label不会弹出出来。


设置popup属性,一定要注意,和设置父子关系,位置不一样,会产生不一样的效果。需要具体理解,可以自己运行代码测试


猜你喜欢

转载自blog.csdn.net/jiaojinlin/article/details/80585451