c++彈窗如何實(shí)現(xiàn)多窗口管理

c++
小樊
92
2024-08-13 00:54:39

在C++中實(shí)現(xiàn)多窗口管理可以通過(guò)使用GUI庫(kù)(如Qt、MFC等)來(lái)實(shí)現(xiàn)。以下是一個(gè)簡(jiǎn)單的示例使用Qt庫(kù)來(lái)實(shí)現(xiàn)多窗口管理:

#include <QtWidgets>

class MainWindow : public QWidget
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr) : QWidget(parent)
    {
        QPushButton *openButton = new QPushButton("Open Window", this);
        connect(openButton, &QPushButton::clicked, this, &MainWindow::openNewWindow);
    }

public slots:
    void openNewWindow()
    {
        subWindows.append(new SubWindow());
        subWindows.last()->show();
    }

private:
    QList<SubWindow *> subWindows;
};

class SubWindow : public QWidget
{
    Q_OBJECT

public:
    SubWindow(QWidget *parent = nullptr) : QWidget(parent)
    {
        setFixedSize(200, 200);
        QLabel *label = new QLabel("Sub Window", this);
        label->setAlignment(Qt::AlignCenter);
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    MainWindow mainWindow;
    mainWindow.show();

    return app.exec();
}

#include "main.moc"

在這個(gè)示例中,我們創(chuàng)建了一個(gè)主窗口MainWindow和一個(gè)子窗口SubWindow。主窗口有一個(gè)按鈕,當(dāng)點(diǎn)擊按鈕時(shí)會(huì)創(chuàng)建一個(gè)新的子窗口并顯示出來(lái)。

通過(guò)使用GUI庫(kù),我們可以輕松地管理多個(gè)窗口,可以方便地創(chuàng)建、顯示、隱藏和關(guān)閉多個(gè)窗口。我們還可以通過(guò)信號(hào)和槽機(jī)制來(lái)實(shí)現(xiàn)窗口之間的通信和交互。

0