Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/64: Рейтинг темы: голосов - 64, средняя оценка - 4.66
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
1

Что Qt считает текущей папкой?

13.01.2012, 21:06. Показов 12139. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Осваиваю Qt по книге Макса Шлее Qt4.5 с дистрибутивом.
Собираю разные примерчики. Поздоровался. Поигрался с простейшей схемой
"сигнал-слот". Дошло дело до картинок.
И тут выяснилось, что если запускаться из под Qt, то прога картинок не видит.
А если давать картинкам полный путь "C:\mydir\img.jpg" - все в порядке.
Если просто запускать экзэшник - тоже все хорошо.
exe и картинка лежат в одной папке.
После долгих и нудных эксперементов выяснилось:
C++
1
2
3
4
5
6
 qDebug() << QApplication:;allpcationDirPath();
   // дает C:\mydir
 char b[100];
 getcwd(b, 98);
 qDebug<< b;
   // дает C:\mydir\release
Что, конечно же не слишком удобно.
Т.е. запуская программу из-под Qt я должен все рабочие, настроечные и прочие
файлы дублировать в папку release.
А если я в запарке забуду какой-то файл? И буду себе голову ломать!
Не знает ли кто из знатоков, как заставить Qt записывать вновь испеченный
экзешник в какую-то папку и ее же считать текущей при запуске?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2012, 21:06
Ответы с готовыми решениями:

Скрипт, который считает период от введенной до текущей даты
люди такой вопрос: вот скрипт он должен работать таким образом,вы вводите любое число,месяц и год и...

Как отслеживать и соответственно вовремя изменить картинку с закрытой папкой на картинку с открытой папкой?
1) Как отслеживать и соответственно вовремя изменить картинку с закрытой папкой на картинку с...

Не могу разобраться с папкой Desktop и скрытой папкой Public Desktop
Я хочу получить возможность взаимодействия с ярлыками. Одни ярлыки находятся по адресу...

3dmark, Что он считает?
Здравствуйте! Нашел я тут на одном диске 3D MARK 2006, решил побаловаться... Получил: Atlon 1900+ ,...

14
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
13.01.2012, 22:29 2
приложение считает текущей директорией ту из которой запускается, и Qt тут не причем...
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
13.01.2012, 23:04  [ТС] 3
Цитата Сообщение от Чистый Посмотреть сообщение
приложение считает текущей директорией ту из которой запускается, и Qt тут не причем...

Не по теме:

Вашими устами, да мед бы пить

А может быть расскажете, кто дал такой приказ?

Не по теме:

Тем не менее поздравляю с наступающим новым старым годом!

0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
13.01.2012, 23:11 4
при этом учитывайте что у Qt для релиза и для debug разные директории вот и смотрите что и как... Ах да есть же еще такое понятие как полные и относительные пути...

Не по теме:

и вас так же c этим замечательным хоть и со странным названием праздником:)

1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
13.01.2012, 23:22  [ТС] 5
Чистый, Вот завтра просплюсь и отвечу. Есть, есть что ответить. Аж зубы скрипят.
И есть такая функция chdir. И пользуются ею и в хвост и гриву. И безо всякой ответственности.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
13.01.2012, 23:37 6
Байт, есть подозрение, что у вас выставлена галочка shadow build - папка в которой собирается и откуда запускается программа
1
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
14.01.2012, 03:21 7
в настройках проекта есть директива WorkDirectory собственно она и принимается за значение рабочей папки, так же можно в ярлыке (под windows) указать ручками рабочую директорию - эффект будет тот же самый. у меня обычно рабочая директория для проекта указана как ".." и очень много проблем решаются сами собой
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
14.01.2012, 12:40  [ТС] 8
Цитата Сообщение от alex_x_x Посмотреть сообщение
Байт, есть подозрение, что у вас выставлена галочка shadow build - папка в которой собирается и откуда запускается программа
Теневая сборка - правильный перевод? Чего-то я нигде ее не нашел...

Добавлено через 6 минут
Цитата Сообщение от l_a_m Посмотреть сообщение
в настройках проекта есть директива WorkDirectory собственно она и принимается за значение рабочей папки, у меня обычно рабочая директория для проекта указана как ".." и очень много проблем решаются сами собой
А куда эту директиву сувать ? Попробовал поместить в project.pro строчку WorkDirectory = .. - без эффекта.
Кстати, в pro увидел win32:TARGET = ../project и все немного прояснилось. Для Qt текущая все-таки release

Добавлено через 12 минут
Поставил WorkDirectory = ../ - эффект тот же.
Зато написал win32:TARGET = project, перекинул все рабочие файлы в release - все стало Ok
Спасибо всем за участие. Проблема в общем-то ясна.
Хотя чую, впереди еще проблем - навалом.
Кстати, где бы прочитать про директивы проекта и прочее окружение, влияющее на трансляцию и сборку? И про make (его язык). В незапамятные времена я пользовал make в старинной Unix-системе под названием ИНМОС, но нынче так много изменилось, что вот смотрю на makefile и ничего не понимаю.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
14.01.2012, 13:09 9
Цитата Сообщение от Байт Посмотреть сообщение
Кстати, где бы прочитать про директивы проекта и прочее окружение, влияющее на трансляцию и сборку?
http://developer.qt.nokia.com/... anual.html
Цитата Сообщение от Байт Посмотреть сообщение
И про make (его язык)
этого должно хватить http://www.gnu.org/software/make/manual/make.html

Цитата Сообщение от Байт Посмотреть сообщение
Теневая сборка - правильный перевод? Чего-то я нигде ее не нашел...
Миниатюры
Что Qt считает текущей папкой?  
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
14.01.2012, 13:53  [ТС] 10
alex_x_x, Так у меня Qt4.5, а у вас 4.7.3
Может быть, пока я не слишком завяз в этой версии, перейти на более новую?
Не из-за зтой проблемки, конечно...

Добавлено через 5 минут
За ссылочки спасибо. Этого действительно хватит надолго А на русском не встречали ничего?
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
14.01.2012, 18:43 11
Цитата Сообщение от Байт Посмотреть сообщение
Может быть, пока я не слишком завяз в этой версии, перейти на более новую?
тогда уже 4.8.0 ставьте она поновее будет
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
14.01.2012, 20:40  [ТС] 12
Цитата Сообщение от l_a_m Посмотреть сообщение
тогда уже 4.8.0 ставьте она поновее будет
Откуда-то у меня в башке сидит такая инфа, что версии GNU-продуктов оканчивающиеся на четную цифру, как бы бета-версии. Или эта инфа - ложная, или подождать 4.8.1
Уффф! За ними не угонишься.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
14.01.2012, 20:50 13
Байт, Qt - не гну
1
17 / 12 / 0
Регистрация: 14.07.2011
Сообщений: 45
16.01.2012, 10:56 14
Рабочей директорией все приложения(не только Qt и даже не только C++) считают ту, в которой они запущены. В QtCreator можно задать рабочую директорию в настройках запуска проекта для каждой сборки(*.pro файл к этому никакого отношения не имеет, т.к. отвечает только за сборку, запуск и отладка целиком и полностью на QtCreator).

Обновлять версию Qt по желанию. Без реальной необходимости(нужны новые фичи, закрыты критические баги) это совсем не обязательно.
0
Humanoid
16.01.2012, 11:30     Что Qt считает текущей папкой?
  #15

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Откуда-то у меня в башке сидит такая инфа, что версии GNU-продуктов оканчивающиеся на четную цифру, как бы бета-версии. Или эта инфа - ложная
Так раньше ядра линукса нумеровались. Но начиная с версии 3.0.0 это изменилось даже там.

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2012, 11:30

Почему программа считает, что -4/-1 < -6/-2
Вот код программы: unit Kursovaya_MatMod; interface uses Windows, Messages, SysUtils,...

Цикл считает не то. Что не так в коде ?
Написал простенькую программу - имею небольшой массив данных masF, из которого я последовательно...

Pycharm не правильно считает! что делать?
Здравствуйте! Начал изучать питон и в курсе попалась задача на определение среднего значения...

Не считает. Что не так. В чем ошибка
Не считает. Что не так?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru