나는 무엇이 잘못되었는지 알아낼 수 없어서 내가 당신에게 묻기 위해 왔습니다. 아래에 정의 된 BOBSNetworkSessionManager라는 간단한 클래스를 만들었습니다. 그것은 신호와 슬롯을 사용할 수 있도록 QOBject를 상속하는 간단한 클래스이지만 대화 상자 나 이와 관련된 모든 종류의 창이 없습니다. 결국 대화 상자에 로그인하여 자격 증명을 사용하여 내가 만든 TCP 서버에 연결합니다. 이 클래스는 서버에 연결될 때 및 p.c.i로 인해 15 분 이내에 중단없이 사용되는 경우에만 제대로 실행되기 때문에 프로그램의 연결 상태를 관리하는 계층 역할을합니다. 응낙. 이러한 조건이 참이 아니면이 클래스는 창을 잠그고 강제로 새 로그인을합니다. 현재로서는 자격 증명이 통과되고 서버에 연결되어있는 것처럼 임의로 주 창을 열려고합니다. 문제는 바로 사라지는 메인 윈도우를 열 때입니다. 나는 왜 그것이 다이아 프르 어링인지 알 수 없다. 내 모든 파일을 포함 시켰습니다.differnet 클래스에서 호출 할 때 내 메인 윈도우가 자동으로 닫히는 이유는 무엇입니까?
BOBSDCNetworkSessionManager .H 헤더 파일
#ifndef BOBSDCNETWORKSESSIONMANAGER_H
#define BOBSDCNETWORKSESSIONMANAGER_H
#include <QObject>
#include <QSettings>
class BOBSDCNetworkSessionManager : public QObject
{
Q_OBJECT
public:
explicit BOBSDCNetworkSessionManager(QObject *parent = 0);
protected:
void destroyed(QObject *);
signals:
public slots:
private:
void readSettings();
void writeSettings();
QSettings networkSettings;
};
#endif // BOBSDCNETWORKSESSIONMANAGER_H
BOBSDCNetworkSessionManager 구현은
#include "bobsdcnetworksessionmanager.h"
#include "bobsmainwindow.h"
BOBSDCNetworkSessionManager::BOBSDCNetworkSessionManager(QObject *parent) :
QObject(parent)
{
BOBSMainWindow w;
w.show();
}
하여 Main.cpp이 파일을 파일을 .CPP
#include "bobsdcnetworksessionmanager.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("Enterprise Management Suite");
a.setApplicationVersion("Beta Version: 0.0.0.01");
a.setOrganizationName("Enigma Web Consulting");
a.setOrganizationDomain("http://www.EnigmaWebCo.com");
BOBSDCNetworkSessionManager netMgr;
return a.exec();
}