仿照 按Escape键退出程序中的实现,我们在程序开始的时候全屏显示,按esc键的时候退出全屏。
全屏显示只需要调用QWidget类(QMainWindow也是一个QWidget类)的
showFullScreen() 成员函数即可。
退出全屏,仿照 按Escape键退出程序 中的 重新实现
void keyPressEvent(QKeyEvent* event) override
即可。
mainwindow.h
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
-
- #include
- #include
-
-
- QT_BEGIN_NAMESPACE
- namespace Ui { class MainWindow; }
- QT_END_NAMESPACE
-
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
-
- public:
- MainWindow(QWidget *parent = nullptr);
- ~MainWindow();
- void keyPressEvent(QKeyEvent* event) override
- {
- if (event->key() == Qt::Key_Escape)
- {
- this->showNormal();
- }
- }
- private:
- Ui::MainWindow *ui;
- };
- #endif // MAINWINDOW_H
mainwindow.cpp
什么也不需要自己写,使用默认生成的代码即可。
main.cpp
- #include "mainwindow.h"
-
- #include
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- w.showFullScreen();//程序启动就全屏显示,按esc退出全屏
- return a.exec();
- }
QShowFullScreen · CalmReason/learn-qt-with-code - 码云 - 开源中国 (gitee.com)