Qt Widget暂时全屏

qdo*_*dot 5 qt widget fullscreen qtgui

考虑一个QWidget,通常是一些布局中的孩子.

假设我想让它成为一段时间的全屏,然后让它回到它的旧点.

QWidget::setFullScreen() 要求窗口小部件需要是一个独立的窗口 - 任何想法如何解决?

Luc*_*lon 3

我能看到的最简单的方法是将父级重新设置为 0。如下所示:

#include <QApplication>
#include <QPushButton>

class MyButton : public QPushButton
{
public:
   MyButton(QWidget* parent) : QPushButton(parent) {}

   void mousePressEvent(QMouseEvent*) {
      this->setParent(0);
      this->showMaximized();
      this->show();
   }
};

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);

   QWidget mainWidget;
   MyButton button(&mainWidget);
   mainWidget.show();

   return a.exec();
}
Run Code Online (Sandbox Code Playgroud)