当使用VS Code开发C++ Qt5桌面程序时,你可以使用Qt的信号和槽机制来实现点击按钮弹出新窗体的功能。以下是一个完整可用的示例代码:
“`cpp
// main.cpp
#include <QApplication>
#include <QPushButton>
#include <QMessageBox>
#include “mainwindow.h”
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}
“`
“`cpp
// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QMessageBox>
#include “dialog.h”
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void openDialog();
private:
QPushButton *button;
Dialog *dialog;
};
#endif // MAINWINDOW_H
“`
“`cpp
// mainwindow.cpp
#include “mainwindow.h”
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
button = new QPushButton(“Open Dialog”, this);
connect(button, &QPushButton::clicked, this, &MainWindow::openDialog);
}
MainWindow::~MainWindow()
{
}
void MainWindow::openDialog()
{
dialog = new Dialog(this);
dialog->exec();
}
“`
“`cpp
// dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>
#include <QMessageBox>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private slots:
void showMessage();
private:
QPushButton *button;
};
#endif // DIALOG_H
“`
“`cpp
// dialog.cpp
#include “dialog.h”
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
button = new QPushButton(“Show Message”, this);
connect(button, &QPushButton::clicked, this, &Dialog::showMessage);
}
Dialog::~Dialog()
{
}
void Dialog::showMessage()
{
QMessageBox::information(this, “Message”, “Hello, Dialog!”);
}
“`
这个示例代码包含了一个主窗口(MainWindow)和一个对话框(Dialog)。主窗口中有一个按钮,点击按钮会弹出对话框,并在对话框中显示一条消息。
你可以将这些代码保存到对应的文件中,并在VS Code中打开这个项目文件夹。然后,使用Qt命令行工具生成Makefile并构建项目。最后,运行生成的可执行文件,你将看到一个主窗口,点击按钮会弹出一个对话框并显示一条消息。
请确保已正确安装Qt开发工具和VS Code的C++扩展,并按照上述步骤进行操作。希望这个示例代码对你有帮助!