当QMainWindow未最大化时,子窗口小部件将丢失

时间:2017-01-10 06:43:30

标签: qt window qwidget

ui->setupUi(this);
setWindowState(Qt::WindowMaximized);//Qt::WindowFullScreen;

QWidget *pStateInfosBar = new StateInfosBar(this);
//pStateInfosBar->show();
QRect rcSibWannaGeometry(QApplication::desktop()->width() - 250,
                         style()->PixelMetric::PM_TitleBarHeight, 250,
                         height());
pStateInfosBar->setGeometry(rcSibWannaGeometry);

我的代码如上所示。但是当他的父窗口未最大化时, pStateInfosBar 将会丢失,并且当父级最大化时它将重新出现。任何人都可以告诉我为什么?

1 个答案:

答案 0 :(得分:0)

在初始化QRect时,您将pStateInfosBar的x坐标设置为屏幕宽度 - 250.因此,如果窗口宽度小于屏幕宽度 - 250,窗口小部件将在窗口外

也许您正在寻找this->width() - 250而不是QApplication::desktop()->width() - 250