场景:
在一个函数体内,调用show()函数时,窗口未有显示。例如:
void Widget::on_pushButton_clicked()
{
QWidget * dlg = new QWidget(this);
dlg->show();
}
原因分析:
因为QWidget不是一个窗口,是一个普通部件。
解决方案
将QWidget实例设置成窗口属性。
void Widget::on_pushButton_clicked()
{
QWidget * dlg = new QWidget(this);
dlg->setWindowFlags(Qt::Window);
dlg->show();
}