Ich möchte vom MainWindow aus auf das Ui des Dialogs zugreifen. Das geht aber nicht, da Ui privat ist.
Auch wen ich auf ein Funktion im Dialog zugreifen möche (von MainWindow aus) geht es nicht. Der Compiler geht zwar durch, aber das Progamm stürzt ab.
Hier das DlgWin.h:
Code: Alles auswählen
class DlgWin : public QDialog
{
Q_OBJECT
public:
explicit DlgWin(QWidget *parent = nullptr);
~DlgWin();
QString getEdFind();
private:
Ui::DlgWin *ui;
};
Code: Alles auswählen
#include "dlgwin.h"
#include "ui_dlgwin.h"
DlgWin::DlgWin (QWidget *parent) :
QDialog(parent),
ui(new Ui::DlgWin )
{
ui->setupUi(this);
connect(ui->btFind, SIGNAL(clicked()), this, SLOT(accept()));
}
QString DlgWin::getEdFind()
{
QString findStr = ui->edFind->text();
return findStr;
}
Code: Alles auswählen
void MainWindow::Test()
{
DlgWin *dlg = new DlgWin(this);
int dc = dlg->exec();
if(dc == QDialog::Accepted)
{
QString searchString = dlg->getEdFind();
QMessageBox::warning(this,"Test",searchString);
}
}
mfg