当窗口基类是QWidget时,如果为其设置父窗口,窗口会以子窗口的形式出现在父窗口中,这时窗口没有标题栏关闭按钮等。
如果想使子窗口与父窗口绑定,而且子窗口以独立窗口的形式存在,则需要设置子窗口属性为Qt::Window。
代码如下:
XElementPanel::XElementPanel(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
setWindowFlag(Qt::Window);
}
设置后,点击子窗口会同时激活父窗口,而子窗口以非模态形式存在,并且不具有任务栏图标。很多地方会用到这种属性。
例如,多任务窗口中的悬浮子窗口。