Russian Qt Forum

Qt => Общие вопросы => Тема начата: lolbla2 от Март 08, 2013, 17:50



Название: [РЕШЕНО]Не вызывается конструктор предка, видимо поэтому краш?...
Отправлено: lolbla2 от Март 08, 2013, 17:50
Settings.h
Код
C++ (Qt)
#include <QSettings>
 
 
class Settings : public QSettings
{
   Q_OBJECT
public:
 
 
   static Settings* getInstance();
   void setValue(const QString &key, const QVariant &value);
   QString test();
 
signals:
   void newValue(QString key, QString newVal);
public slots:
 
private:
   Settings(QObject *parent = 0);
   static Settings* m_instance;
 
   static const QString NORMAL_MOOD; //норм настроение
   static const QString HAPPY_MOOD; // счастливое настроение
   static const QString SADNESS_MOOD; // грустное настроение
   static const QString ANGRY_MOOD; // злое настроение
   static const QString DISASTER_MOOD; // убитое настроение
};
 

Settings.cpp
Код
C++ (Qt)
#include "settings.h"
#include <QDebug>
 
Settings* Settings::m_instance = 0;
 
const QString Settings::NORMAL_MOOD = "M0001";
const QString Settings::HAPPY_MOOD = "M0002";
const QString Settings::SADNESS_MOOD = "M0003";
const QString Settings::ANGRY_MOOD = "M0004";
const QString Settings::DISASTER_MOOD = "M0005";
 
Settings::Settings(QObject *parent) :
   QSettings(parent)
{
   qWarning() << "settings new";
}
 
Settings* Settings::getInstance()
{
   if(m_instance == 0)
       m_instance = new Settings();
   return m_instance;
}
 
QString Settings::test()
{
   return "test";
}
 
void Settings::setValue(const QString &key, const QVariant &value)
{
   QSettings::setValue(key,value);
//    emit newValue(key,value.toString());
}
 

Widget.cpp
Код
C++ (Qt)
Widget::Widget(QWidget *parent) :
   QWidget(parent),
   ui(new Ui::Widget)
{
   ui->setupUi(this);
//    QSettings* s = new QSettings();
//    s->setValue("ip",ui->ipEdit->text());
   m_settings == Settings::getInstance();
   qWarning() << m_settings->test();
//    m_settings->setValue("ip",ui->ipEdit->text()); // Если это раскоментить падает
//    m_settings->setValue("camPort",ui->camPort->text());
//    m_settings->setValue("udpReceivePort",ui->receivePortEdit->text());
//    m_settings->setValue("udpSendPort",ui->sendPortEdit->text());
 
   m_videoPlayer = VideoPlayer::getInstance(ui->video);
   connect(m_videoPlayer,SIGNAL(error()),this,SLOT(onError()));
   connect(m_videoPlayer,SIGNAL(stopped()),this,SLOT(onPlayerStop()));
}
 

Подскажите пожалуйста, когда вызываю у settings  чего-то родительское то почему-то всё падает, по всей видимости не конструируется родительский класс QSettings...  Хотя я его конструктор вызываю... В чём дело кто подскажет ?((


Название: Re: Не вызывается конструктор предка, видимо поэтому краш?...
Отправлено: lolbla2 от Март 08, 2013, 17:53
ой сори моя невнимательность я там == поставил вместо = . Целый час сидел не в понятках


Название: Re: Не вызывается конструктор предка, видимо поэтому краш?...
Отправлено: gil9red от Март 09, 2013, 14:46
Поставь в начало темы [РЕШЕНО], раз нет вопросов ;)