Qt Creator在窗口一添加一个行编辑器和按钮,在窗口二添加一个标签,点击按钮会收集行编辑器中的文本,将其设置为标签的文本并关闭窗口一,使用C++完成
时间: 2024-02-13 19:02:01 浏览: 20
好的,我可以为您提供一个简单的示例代码,演示如何使用Qt Creator实现您的需求。
首先,在Qt Creator中创建一个新的Qt Widgets应用程序项目。然后,打开mainwindow.ui文件,将一个LineEdit和一个Button拖放到窗口一上。在窗口二中添加一个Label控件。
接下来,双击按钮,进入槽函数编辑器。在该函数中,获取LineEdit的文本,将其设置为Label的文本,然后关闭窗口一。最后,将槽函数与按钮的clicked信号连接起来。
下面是示例代码:
```
//mainwindow.h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private:
QLabel *m_label;
QLineEdit *m_lineEdit;
};
#endif // MAINWINDOW_H
//mainwindow.cpp文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
m_label = new QLabel(tr("这是一个标签"), this);
m_label->setGeometry(50, 50, 100, 30);
setWindowTitle(tr("窗口二"));
setFixedSize(200, 150);
}
Dialog::~Dialog()
{
}
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle(tr("窗口一"));
setFixedSize(400, 300);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
Dialog dialog(this);
dialog.exec();
QString text = ui->lineEdit->text();
dialog.m_label->setText(text);
}
```
在这个示例中,MainWindow是窗口一,Dialog是窗口二。我们在Dialog类中声明了一个QLabel和一个QLineEdit。在MainWindow中,我们在槽函数中获取LineEdit的文本,并将其设置为Dialog中的Label文本,最后关闭Dialog。
这样,当您点击按钮时,就会打开一个新的窗口,将LineEdit中的文本设置为Label的文本,然后关闭窗口一。
希望这个示例能帮到您!