1. 程式人生 > >Qt 中父子視窗展示和隱藏的奇怪關係

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屬性,一定要注意,和設定父子關係,位置不一樣,會產生不一樣的效果。需要具體理解,可以自己執行程式碼測試