2013-09-28 4 views
-1

docs говорят, что это должно работать:QPixmap :: сохранить() возвращает успех, но не дает файл

bool did=pixmap.save("hoppy.png"); 

qDebug("did is: %d",did); 

Моя каротаж возвращает 1 предполагая, согласно документации, что экономия была успешной. Однако на моем диске нет файла. Согласно документам, этот save() действительно должен сохранить файл, так что чего не хватает?

+4

Вы на 100% уверены, что ищете подходящий каталог? Укажите полный путь, чтобы убедиться. – Mat

+0

Чтобы найти файл, используйте поиск в Windows, прожектор или местоположение (в зависимости от вашей платформы). Это здесь. Это не то место, где вы его ищете. –

+0

@ Мату, мне любопытно, не просто ли она сбрасывать ее в фактический каталог исполняемого файла? Я также выполнил полный поиск на моем Mac с помощью прожектора и не могу найти его. – johnbakers

ответ

0

Другой ответ Примечания:

Ничего не хватает; он просто сохраняется в папке, где вы запускаете исполняемый файл qt из

Однако мой вопрос указал, что на самом деле это не так.

Используя полный путь, а не относительный путь или вместо символа ~, разрешите его.

+0

Нет, "~" не следует использовать! – lpapp

+0

@ LaszloPapp Я знаю, это неверно, спасибо, я сделаю это более ясным. Он говорит «скорее, а не относительный путь или [а не] символ». – johnbakers

0

Согласно документам, этот файл save() должен действительно сохранять файл, поэтому чего не хватает?

Ничего не хватает; он просто сохраняется в папке, где вы запускаете исполняемый файл qt. Если это прямой вызов, то он находится рядом с исполняемым файлом, иначе он находится рядом с скриптом или другой программой, которая вызывает исполняемый файл qt (конечно, другая программа может изменить текущий рабочий каталог, но давайте немного забудем об этом).

Если это не то, что вы хотели бы сделать, вам лучше использовать абсолютный путь к тому месту, где вы хотите его сохранить. Однако, если это какое-то общее место, подумайте об использовании QStandardPaths.

+0

Фраза «она просто сохраняется в папке, где вы запускаете исполняемый файл qt» в этом случае неверна, хотя это приличная идея, я удаляю это выбранный ответ. Мой вопрос дал понять, что такого поведения в данном случае не происходит, так как нигде в системе нет файла. – johnbakers

+0

Добро пожаловать. Наслаждайтесь и наслаждайтесь приятным днем ​​:) – johnbakers

+0

И, благодарю вас, сэр, в вашем ответе, опуская мой вопрос. Я рад, что есть такие замечательные пользователи, как ты, которые оценивают репутацию больше, чем качественные рассуждения. – johnbakers