qt6windows7/examples/opengl/hellogl2/mainwindow.cpp

31 lines
888 B
C++
Raw Normal View History

2023-10-30 06:33:08 +08:00
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "mainwindow.h"
#include "window.h"
2023-12-05 01:42:35 +08:00
#include <QApplication>
#include <QKeySequence>
2023-10-30 06:33:08 +08:00
#include <QMenuBar>
#include <QMenu>
#include <QMessageBox>
MainWindow::MainWindow()
{
2023-12-05 01:42:35 +08:00
QMenu *menuWindow = menuBar()->addMenu(tr("&Window"));
menuWindow->addAction(tr("Add new"), QKeySequence(Qt::CTRL | Qt::Key_N),
this, &MainWindow::onAddNew);
menuWindow->addAction(tr("Quit"), QKeySequence(Qt::CTRL | Qt::Key_Q),
qApp, QApplication::closeAllWindows);
2023-10-30 06:33:08 +08:00
onAddNew();
}
void MainWindow::onAddNew()
{
if (!centralWidget())
2023-12-05 01:42:35 +08:00
setCentralWidget(new Window);
2023-10-30 06:33:08 +08:00
else
2023-12-05 01:42:35 +08:00
QMessageBox::information(this, tr("Cannot Add New Window"),
2023-10-30 06:33:08 +08:00
tr("Already occupied. Undock first."));
}