现在将主窗口更改为对话框,指针将无效

时间:2015-05-22 18:04:52

标签: c++ qt pointers qmainwindow qdialog

嘿,伙计们我遇到了问题。如果我使用QDialog打开下一个窗口,我的程序工作正常。我想将我的菜单窗口更改为MainWindow,现在如果打开我的Dialog,我从调试器得到以下错误消息: “enter image description here

以下是我的MenueWindow的源代码:

  void MainMenue::on_pushButton_OwnData_clicked()
{

//New Dialog

benutzerdaten Benutzerdaten(this,peon2);
Benutzerdaten.setModal(true);
Benutzerdaten.exec();

//Pointer for new Dialog (2nd Version)
/* benutzerdaten *benutzerdata = new benutzerdaten (this,peon2);
benutzerdata->setModal(true);
benutzerdata->exec();*/
}

这是“benutzerdaten”的源代码:

#include "benutzerdaten.h"
#include "ui_benutzerdaten.h"


benutzerdaten::benutzerdaten(QWidget *parent,Worker *peon):
    QDialog(parent),
    ui(new Ui::benutzerdaten)
{
    peon2 = peon;
    QString SHelp;
    ui->setupUi(this);
    //Benutzerdaten in Labels anzeigen
    //here Starts the problem!!!
    ui->label_forename->setText(peon2->wo_forename);
    ui->label_name->setText(peon2->wo_name);
    ui->label_mobil->setText(peon2->wo_phone);
    if(peon2->wo_AdminStatus==false)
    {
        ui->label_admin->setText("nein");
    }
    if(peon2->wo_AdminStatus==true)
    {
        ui->label_admin->setText("ja");
    }
    ui->label_pw->setText(peon2->wo_password);
    SHelp=QString::number(peon2->wo_id);
    ui->label_ID->setText(SHelp);
    ui->label_login->setText(peon2->wo_login_name);

}

我像这样创建了MenueWindow

             MainMenue *mainmenue = new MainMenue  (this,&peon);
             mainmenue->show();

Worker只是一个保存Userdata的类。 谢谢你们帮助我 编辑: peon2是benutzerdaten.h的私人成员。

private:
    Ui::benutzerdaten *ui
    //worker Variable um sie in der ganzen klasse benutzerdaten.h zu nutzen
    //daten von *peon werden im konstruktor in peon2 gespeichert!
    Worker* peon2;

0 个答案:

没有答案