Qt全屏显示与退出

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

猜你喜欢

转载自blog.csdn.net/ClamReason/article/details/133365042
今日推荐