仿照 按Escape键退出程序中的实现,我们在程序开始的时候全屏显示,按esc键的时候退出全屏。
showFullScreen
全屏显示只需要调用QWidget类(QMainWindow也是一个QWidget类)的
showFullScreen() 成员函数即可。
退出全屏,仿照 按Escape键退出程序 中的 重新实现
void keyPressEvent(QKeyEvent* event) override
即可。
代码实现
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QKeyEvent>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic: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 <QApplication>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)