C++Qt不用QT工程师实现,点击主窗口的Toolbutton,弹出子窗口,在子窗口中设置一个中心窗口
时间: 2023-06-20 07:06:30 浏览: 101
qt--主窗口中按钮弹出子窗口,并把主窗口信号发送给子窗口
5星 · 资源好评率100%
实现这个功能的步骤如下:
1. 在 Qt Creator 中创建一个主窗口和一个子窗口的 UI 界面。
2. 在主窗口中添加一个 Toolbutton,并在槽函数中实现点击事件,打开子窗口。
3. 在子窗口中添加一个 QFrame 作为中心窗口,并设置其大小和位置。
下面是一个简单的示例代码:
MainWindow.h
```
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "SubWindow.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_toolButton_clicked();
private:
Ui::MainWindow *ui;
SubWindow *subWindow;
};
#endif // MAINWINDOW_H
```
MainWindow.cpp
```
#include "MainWindow.h"
#include "ui_MainWindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
subWindow = new SubWindow(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_toolButton_clicked()
{
subWindow->show();
}
```
SubWindow.h
```
#ifndef SUBWINDOW_H
#define SUBWINDOW_H
#include <QDialog>
namespace Ui {
class SubWindow;
}
class SubWindow : public QDialog
{
Q_OBJECT
public:
explicit SubWindow(QWidget *parent = nullptr);
~SubWindow();
private:
Ui::SubWindow *ui;
};
#endif // SUBWINDOW_H
```
阅读全文