Zugriff auf Klassen Variabel.
Verfasst: 23. Oktober 2009 09:09
Hey Community,
Habe folgendes Problem.
Ich habe eine Klasse mit einem Dialog der bei accept die Eingabe ausliest und in ein QString abspeichert. Nur schaffe ich es nicht auserhalb der Klasse auf diese QString´s zuzugreifen.
Mein Ansatz:
Variabel auf die zugegriffen werden sollen als public deklarieren. Von auserhalb der Klasse zugreifen mit
Der Compiler bringt keine Fehlermeldung aber in der Ausgelesenen Variabel steht nix drin.
DIALOG KLASSE HEADER:
DIALOG KLASSE:
VON DER KLASSE ICH ZUGREIFEN MÖCHTE:
Habe folgendes Problem.
Ich habe eine Klasse mit einem Dialog der bei accept die Eingabe ausliest und in ein QString abspeichert. Nur schaffe ich es nicht auserhalb der Klasse auf diese QString´s zuzugreifen.
Mein Ansatz:
Variabel auf die zugegriffen werden sollen als public deklarieren. Von auserhalb der Klasse zugreifen mit
Code: Alles auswählen
Klassenname::Variabel oder Klassenname neuerbezeichner... neueuerbezeichner.KlassennameDIALOG KLASSE HEADER:
Code: Alles auswählen
#ifndef EINGABEDIALOG_H
#define EINGABEDIALOG_H
#include <QtGui>
namespace Ui {
class EingabeDialog;
}
class EingabeDialog : public QDialog {
Q_OBJECT
public:
EingabeDialog(QWidget *parent = 0);
~EingabeDialog();
QString Nr_von, Nr_bis, Fehler_1, Fehler_2;
QLineEdit *Nr_von_LineEdit, *Nr_bis_LineEdit, *Fehler_1_LineEdit, *Fehler_2_LineEdit;
protected:
void changeEvent(QEvent *e);
public slots:
void einlesen();
private:
Ui::EingabeDialog *m_ui;
QDialogButtonBox *ButtonBox;
};
#endif // EINGABEDIALOG_H
Code: Alles auswählen
#include "eingabedialog.h"
#include "ui_eingabedialog.h"
EingabeDialog::EingabeDialog(QWidget *parent) :
QDialog(parent),
m_ui(new Ui::EingabeDialog){
m_ui->setupUi(this);
Nr_von_LineEdit = new QLineEdit;
Nr_von_LineEdit = m_ui->Baunummer_von;
Nr_von_LineEdit->setInputMask("999");
Nr_bis_LineEdit = new QLineEdit;
Nr_bis_LineEdit = m_ui->Baunummer_bis;
Nr_bis_LineEdit->setInputMask("999");
Fehler_1_LineEdit = new QLineEdit;
Fehler_1_LineEdit = m_ui->Fehler_1;
Fehler_1_LineEdit->setInputMask("HHHH");
Fehler_2_LineEdit = new QLineEdit;
Fehler_2_LineEdit = m_ui->Fehler_2;
Fehler_2_LineEdit ->setInputMask("HHHH");
ButtonBox = new QDialogButtonBox;
ButtonBox = m_ui->buttonBox;
connect(ButtonBox, SIGNAL(accepted()), this, SLOT(einlesen()));
}
EingabeDialog::~EingabeDialog()
{
delete m_ui;
}
void EingabeDialog::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
m_ui->retranslateUi(this);
break;
default:
break;
}
}
void EingabeDialog::einlesen(){
QString Nr_von = Nr_von_LineEdit->text();
QString Nr_bis = Nr_bis_LineEdit->text();
QString Fehler_1 = Fehler_1_LineEdit->text();
QString Fehler_2 = Fehler_2_LineEdit->text();
}
Code: Alles auswählen
#include "logviewer.h"
#include "ui_logviewer.h"
LogViewer::LogViewer(QWidget *parent)
: QMainWindow(parent), ui(new Ui::LogViewer){
ui->setupUi(this);
CloseAction = new QAction(this);
CloseAction = ui->CloseAction;
OpenAction = new QAction(this);
OpenAction = ui->OpenAction;
ResetAction = new QAction(this);
ResetAction = ui->ResetAction;
SuchenAction = new QAction(this);
SuchenAction = ui->SuchenAction;
SuchenAction->setEnabled(false);
Main_TextEdit = new QTextEdit();
Main_TextEdit = ui->Main_TextEdit;
Main_TextEdit->setEnabled(false);
Verzeichnis_Label = new QLabel;
Verzeichnis_Label = ui->Verzeichnis_Label;
connect(CloseAction, SIGNAL(triggered()), this, SLOT(close()));
connect(OpenAction, SIGNAL(triggered()), this, SLOT(dialog_open()));
connect(ResetAction, SIGNAL(triggered()), this, SLOT(reset()));
connect(SuchenAction, SIGNAL(triggered()), this, SLOT(suchen()));
}
void LogViewer::suchen(){
QDialog *in_Dialog = new EingabeDialog(this);
in_Dialog->show();
EingabeDialog ein;
QString test = ein.Nr_bis;
}