有两个文件:mainwindow.cpp
和editorplain.cpp
editorplain.cpp
是一个对话框,作为小部件。
问题:将文本数据发送到另一个对话框中的标签。
mainwidnow.cpp
从菜单调用一个新的对话框时触发操作:er
将从主窗口返回字符串。
void MainWindow::on_actionRoot_files_triggered()
{
QString er = ui->selected_filename->text();
Editorplain editorplainwidget;
// HERE IS WHAT I WANT SEND A DATA TO ANOTHER DIALOG `editorplain`
editorplainwidget.exec();
}
打开对话框时,我想从字符串
er
中获取数据。Editorplain::setData(myType myData)
{
ui->label_2->setText(myData.textForEdit);
}
让我们来解释一下我的问题。在 mywindow
上,我有一个字符串 er
,它返回一些结果。这个 er
应该被发送到对话框 editorplain
,并设置为标签,例如: ui->label->setText(er)
。标签是在 QDialog
上创建的 QLabel。
Mainwindow.h
:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_actionOpen_triggered();
void on_actionExit_triggered();
void on_actionRoot_files_triggered();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
editorplain.cpp
文件:
#include "editorplain.h"
#include "ui_editorplain.h"
#include "mainwindow.h"
Editorplain::Editorplain(QWidget *parent) :
QDialog(parent),
ui(new Ui::Editorplain)
{
ui->setupUi(this);
// SHOULD PASS ON THIS CONTRUCTOR?
}
Editorplain::~Editorplain()
{
delete ui;
}
Editorplain::setData(myType myData)
{
ui->label_2->setText(myData.textForEdit);
}
void EditorPlain::setData(const QString &labelText) {
改为void Editorplain::setData(const QString &labelText) {
。 - Marin Sagovac