QT 在mainwindow.cpp中弹出dialog.ui并获取输入dialog.ui的lineEdit的文本
时间: 2024-02-12 13:06:01 浏览: 92
基于QT的MainWindow文本编辑器.
5星 · 资源好评率100%
可以通过以下步骤在mainwindow.cpp中弹出dialog.ui并获取输入dialog.ui的lineEdit的文本:
1. 在mainwindow.h中声明一个指向Dialog类的指针:
```c++
class Dialog;
```
并在private或protected部分声明指针:
```c++
private:
Dialog* m_dialog;
```
2. 在mainwindow.cpp中使用以下代码弹出Dialog:
```c++
// 创建Dialog的实例
m_dialog = new Dialog(this);
// 显示Dialog并获取返回值
int result = m_dialog->exec();
// 如果Dialog被接受,获取lineEdit的文本
if(result == QDialog::Accepted){
QString text = m_dialog->ui->lineEdit->text();
// 处理lineEdit的文本
}
// 删除Dialog的实例
delete m_dialog;
```
这里假设Dialog类中的UI对象名为ui,lineEdit的对象名为lineEdit。如果对象名不一样,需要相应地修改代码。
注意:在Dialog类的构造函数中需要将lineEdit的对象名设置为lineEdit,以便在mainwindow.cpp中访问它:
```c++
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->lineEdit->setObjectName("lineEdit");
}
```
阅读全文