Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Dovgon от Ноября 01, 2010, 19:07



Название: Внешние ресурсы
Отправлено: Dovgon от Ноября 01, 2010, 19:07
Если передать имя файла в конструктор QPixmap объект не отображается (файл лежыт в папке с программой), если передать полный путь отрисовка происходит. Как правильно задать имя файла, что бы не привязовать его к определенному каталогу.

QWidget *pwgt=new QWidget(&wgt);
QPalette pal;
pal.setBrush(pwgt->backgroundRole(), QPixmap("picture.jpg"));
pwgt->setPalette(pal);
pwgt->resize(100, 100);
pwgt->move(75, 75);
pwgt->setAutoFillBackground(true);
 


Название: Re: Внешние ресурсы
Отправлено: GreatSnake от Ноября 01, 2010, 19:47
Мде, похоже русский язык ещё не освоил, а уже за C++ взялся.
Если хотите, чтобы кто-либо отвечал на ваши вопросы, уважайте тех, к кому обращаетесь.


Название: Re: Внешние ресурсы
Отправлено: kibsoft от Ноября 01, 2010, 20:18
QApplication::applicationDirPath() + имя_файла

P.S. вопрос понял с 3-его раза )) GreatSnake: +1


Название: Re: Внешние ресурсы
Отправлено: xokc от Ноября 01, 2010, 20:31
Я думаю вопрос не понял даже сам автор. Если он так пишет, могу себе представить, как он читает.


Название: Re: Внешние ресурсы
Отправлено: Dovgon от Ноября 01, 2010, 21:17
QApplication::applicationDirPath() + имя_файла

поличилось, но почему не воспринемает отнсительные путь?


Название: Re: Внешние ресурсы
Отправлено: navrocky от Ноября 02, 2010, 11:07
поличилось, но почему не воспринемает отнсительные путь?
--> http://www.gramotnost.ru/

Олсо, оно воспринимает относительные пути, только не факт что твоя программа запускается именно с той текущей папкой в которой лежит. Под виндой это может быть папка "Мои документы", под линуксами - тоже по разному, или Документы или папка пользователя ~.


Название: Re: Внешние ресурсы
Отправлено: Dovgon от Ноября 02, 2010, 14:12
applicationDirPath() возврощает путь к папке запускаемой программы. Если его добавить все рботает. 


Название: Re: Внешние ресурсы
Отправлено: Геннадий Пастухов от Ноября 12, 2010, 15:26
Если передать имя файла в конструктор QPixmap объект не отображается (файл лежыт в папке с программой), если передать полный путь отрисовка происходит. Как правильно задать имя файла, что бы не привязовать его к определенному каталогу.

QWidget *pwgt=new QWidget(&wgt);
QPalette pal;
pal.setBrush(pwgt->backgroundRole(), QPixmap("picture.jpg"));
pwgt->setPalette(pal);
pwgt->resize(100, 100);
pwgt->move(75, 75);
pwgt->setAutoFillBackground(true);

Всё нормально работает, например мой код:
Код:
back = new QPixmap("dat/mainBackground.dat");
downB = new QPixmap("dat/downBar.dat");

dat - подкаталог в каталоге, где лежит .exe файл.


Название: Re: Внешние ресурсы
Отправлено: Пантер от Ноября 12, 2010, 15:43
Это пока нормально работает. А попробуй запустить приложение, указав ему другой каталог запуска.