Russian Qt Forum
Ноябрь 25, 2024, 10:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Не вызывается конструктор предка, видимо поэтому краш?...  (Прочитано 2771 раз)
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...  Хотя я его конструктор вызываю... В чём дело кто подскажет ?((
« Последнее редактирование: Март 15, 2013, 10:13 от lolbla2 » Записан
lolbla2
Гость
« Ответ #1 : Март 08, 2013, 17:53 »

ой сори моя невнимательность я там == поставил вместо = . Целый час сидел не в понятках
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Март 09, 2013, 14:46 »

Поставь в начало темы [РЕШЕНО], раз нет вопросов Подмигивающий
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.109 секунд. Запросов: 23.