LINUX.ORG.RU

Отпустиии меняяя…

wfrr ★★☆
()

товарищи, это ж ППЦ.

у тебя в private есть:
    QLabel *_youId;
    QLabel *_youIp;
    QLabel *_youLoc;
    QLabel *_youOut;

и в конструкторе есть:
    //Static labels
    QLabel *youId = new QLabel ("You Id:");
    QLabel *youIp = new QLabel ("You IP addres:");
    QLabel *youLoc = new QLabel ("You Local Traffic:");
    QLabel *youOut = new QLabel ("You Out Traffic:");
    //Dynamic labels
    QLabel *_youId = new QLabel ();
    QLabel *_youIp = new QLabel ();
    QLabel *_youLoc = new QLabel ();
    QLabel *_youOut = new QLabel ();

угодай, какие йузаются в checkStats?

generatorglukoff ★★
()
Ответ на: комментарий от chapay

>Ну закоментил я их - всё равно сегится

где закомментил? если в конструкторе - маладца, они у тебя не инициализуются. если в хедере, то ты должен ловить ошибку компиляции.

generatorglukoff ★★
()
Ответ на: комментарий от chapay

перезалил нынешнее состояние

chapay ★★★
() автор топика
Ответ на: комментарий от chapay

>В конструкторе. Всё равно сегфалл :(

так, здесь нужен врач. и так по пунктам:

1. в первом варианте у тебя было две группы переменных: одна - локальные переменные в конструкторе (которую ты инициализировал по new), вторая - private члены класса (которую ты не инициализировал).
2. checkStats обращался к private группе => сегфолт.
3. щаз ты закомментил первую группу в конструкторе, но дальше по коду конструктора было использование этих переменных.
4. вместо этого в конструкторе используются неинициализированные private переменные класса => сегфолт.
5. а нужно было:
5.1 в конструкторе:
//Dynamic labels
_youId = new QLabel ();
_youIp = new QLabel ();
_youLoc = new QLabel ();
_youOut = new QLabel ();
5.2 в голове: Страуструп например

PS Отпустиии меняяя…

generatorglukoff ★★
()
Ответ на: комментарий от generatorglukoff

Благодорю тебя мастер :)

Глуп я ибо только учусь. Теперь ещё один злобный вопросец:

Есть файл и его надо пропарсить - как в Qt сделать типа пропустить 567байт а последующие 7 байт использовать как QString!?

chapay ★★★
() автор топика
Ответ на: комментарий от chapay

>Есть файл и его надо пропарсить - как в Qt сделать типа пропустить 567байт а последующие 7 байт использовать как QString!?

ты уверен что тебе нужно именно QString? может быть QByteArray?

по простому: читать через stdio/fstream, а потом создать строку из char*

по правильному: использовать QFile и сделать почти тоже самое.

generatorglukoff ★★
()
Ответ на: комментарий от generatorglukoff

Ща посмотрел файл ни фига не полчится так - там есть счётчик байт (положил пример в папку dev в обновленный файл) он имеет различную длинну :( так что как то не так получится :(

chapay ★★★
() автор топика
Ответ на: комментарий от chapay

в С есть fseek позволяющая перемещаться по потоку , в std::istream просто seekg.

wfrr ★★☆
()
Ответ на: комментарий от chapay

Можно попробывать так найти слово мегабайт и читать в обратную сторону до <b> Тока я не понимаю как это сделать. да и файл в koi8 а надо utf...

chapay ★★★
() автор топика
Ответ на: комментарий от chapay

Читай про QTextStream, про то как в нём задать encoding и про то как он читает. Примеры в ассистенте есть. Ещё прочитай про QRegExp раз уж парсить собрался.

teferiincub
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.