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

Child widget will be missing when QMainWindow is Non-Maximized

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);

我的代码如图所示 above.But pStateInfosBar 将在他的父级 window 非最大化时丢失,而当父级 [=] 时它将重新出现16=] 有人告诉我为什么吗?

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

之外

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