qtdesigner点击按钮弹出新窗口
时间: 2023-08-31 17:09:53 浏览: 732
要实现在Qt Designer中点击按钮弹出一个新窗口,您需要完成以下步骤:
1. 在Qt Designer中添加一个按钮控件,并设置其属性和信号槽函数。例如,将按钮命名为"showNewWindowBtn",并将其clicked信号连接到一个名为"showNewWindow"的槽函数。
2. 创建一个新的窗口类,例如"NewWindow",并在其中添加所需的控件。
3. 在主窗口类的构造函数中,创建一个新的"NewWindow"对象,并将其设置为类的成员变量。
4. 实现名为"showNewWindow"的槽函数,并在其中显示新窗口。例如,您可以使用"newWindow->show()"来显示新窗口。
下面是示例代码:
MainWindow.h:
```cpp
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "newwindow.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void showNewWindow();
private:
Ui::MainWindow *ui;
NewWindow *newWindow;
};
#endif // MAINWINDOW_H
```
MainWindow.cpp:
```cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 创建新窗口对象
newWindow = new NewWindow(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showNewWindow()
{
// 显示新窗口
newWindow->show();
}
```
NewWindow.h:
```cpp
#ifndef NEWWINDOW_H
#define NEWWINDOW_H
#include <QDialog>
namespace Ui {
class NewWindow;
}
class NewWindow : public QDialog
{
Q_OBJECT
public:
explicit NewWindow(QWidget *parent = 0);
~NewWindow();
private:
Ui::NewWindow *ui;
};
#endif // NEWWINDOW_H
```
NewWindow.cpp:
```cpp
#include "newwindow.h"
#include "ui_newwindow.h"
NewWindow::NewWindow(QWidget *parent) :
QDialog(parent),
ui(new Ui::NewWindow)
{
ui->setupUi(this);
}
NewWindow::~NewWindow()
{
delete ui;
}
```
在Qt Designer中,将一个PushButton控件拖放到主窗口中,并将其命名为"showNewWindowBtn"。然后,将其clicked信号连接到MainWindow类的showNewWindow槽函数。最后,保存并运行应用程序,单击按钮以显示新窗口。
阅读全文