次の 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);
}