我似乎无法弄清楚出了什么问题,所以我在这里问你。我制作了一个名为 BOBSNetworkSessionManager 的简单类,定义如下。它是一个继承 QOBject 的简单类,因此我可以使用信号和插槽,但它没有对话框或与之关联的任何类型的窗口。它最终会调用一个登录对话框并使用凭据连接到我创建的 tcp 服务器。这个类作为一个层来管理程序的连接状态,因为它只有在连接到服务器时才能正常运行,并且由于 pci 合规性而在 15 分钟内使用而不会中断。如果这些条件不成立,该类将锁定窗口并强制重新登录。截至目前,我只是尝试任意打开主窗口,就好像凭据已经通过并且我已连接到服务器一样。问题是当我打开主窗口时它会立即消失。我似乎无法弄清楚它为什么会消失。我已经包含了我的所有文件。
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 实现 .cpp 文件
#include "bobsdcnetworksessionmanager.h"
#include "bobsmainwindow.h"
BOBSDCNetworkSessionManager::BOBSDCNetworkSessionManager(QObject *parent) :
QObject(parent)
{
BOBSMainWindow w;
w.show();
}
Main.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();
}