仿照 按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_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 <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)