次の 2 つのファイルがあります
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)
. レーベルは に作られたQLabelQDialog
です。
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);
}