Qt Creator创建两个窗口,窗口一有一个行编辑器和按钮,在窗口二有一个标签,点击按钮会收集行编辑器中的文本,将其设置为标签的文本并关闭窗口一,使用C++完成
时间: 2024-02-15 11:06:01 浏览: 159
好的,下面是实现该功能的C++代码:
MainWindow.h:
```cpp
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
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_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
```
MainWindow.cpp:
```cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>
#include <QLabel>
#include <QLineEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QDialog dialog(this);
QLabel label(&dialog);
QLineEdit lineEdit(&dialog);
label.setText("Label:");
label.move(10, 10);
lineEdit.move(50, 10);
QPushButton button("OK", &dialog);
button.move(50, 50);
QObject::connect(&button, &QPushButton::clicked, [&](){
ui->label->setText(lineEdit.text());
dialog.close();
});
dialog.exec();
}
```
这里我们在 `MainWindow` 中创建一个 `QDialog`,里面包含一个 `QLabel` 和一个 `QLineEdit`,以及一个 `QPushButton` 按钮。点击按钮后将 `QLineEdit` 中的文本设置为 `MainWindow` 中的 `QLabel` 的文本,并关闭 `QDialog`。
阅读全文