Здравствуйте, гость ( Вход | Регистрация )
abc | Дата 4.4.2011, 14:31 |
да, правда, при завершении программы QPixmap записывается объяснить не могу |
|
Hardcode | Дата 4.4.2011, 14:17 |
Да, действительно, проблема исчезла после вызова output.close(). как ты завершаешь своё приложение? В этом-то и дело. Завершал из консоли по Ctrl+C, забыв, что в этом случае деструктор не будет вызван и буфер не сохранится на диске. Но ведь, что самое интересное, абсолютно тот же подход у меня работал в случае QPixmap Вопрос решен, спасибо за советы |
|
abc | Дата 4.4.2011, 11:39 |
во-первых, как ты завершаешь своё приложение? я сунул твой код в конструктор окна, и код отработал. я скомпилировал твой код, как он есть, и строка не записалась. затем я добавил - output.close(); запись произошла. почему? мне приходит в голову, что в первом случае (код в конструкторе класса) по выходе из конструктора объект QFile output удаляется, предварительно закрывая файл - изменения вносятся. А во втором случае твоя программа не завершается, QFile output нигде не удаляется, файл остаётся открытым, изменения не вносятся |
|
PAFOS | Дата 4.4.2011, 8:16 |
Попробуй так:
|
|
Hardcode | Дата 3.4.2011, 23:03 |
Имею небольшое приложение, в котором хотелось бы иметь возможность при запуске считывать некоторые данные из бинарного файла, который, естественно, нужно заранее создать. Однако у меня никак не получается отправить в QDataStream строку QStream. Причем проблему я заметил только с QString: например, QPixmap записывается и считывается без проблем. Создал новый тест-проект, вот код:
Результат работы программы - файл output.bin размером 0 байт. Сообщения об ошибке не возникало. Кто-нибудь сталкивался с подобным? Или, может быть, в коде что-то упущено? Система: Linux x86_64, GCC 4.6.0, Qt 4.7.2 |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 24.4.2024, 13:58 |