Russian Qt Forum
Сентябрь 21, 2024, 10:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: embedded pictures  (Прочитано 17978 раз)
arTik
Гость
« : Июнь 22, 2005, 15:22 »

Всем приветик...

Проблема следующая... создал каталог images и положил нужные png-файлы...

Есть кнопки и т.п. где используются эти картинки.
В pro-файле они все описаны, например

Код:
IMAGES	= images/search.png \
images/users.png \
images/update.png \
images/tools.png \
images/exit.png \

В самом коде который генерится, обращение к картинкам идет через fromMimeSource, например:

Код:
pushButtonFilterUpdate = new QPushButton( groupBoxFilter, "pushButtonFilterUpdate" );
pushButtonFilterUpdate->setIconSet( QIconSet( QPixmap::fromMimeSource( "update.png" ) ) );



Но почему-то когда компилю проект, то у меня нет этих картинок, т.е. они не встраиваются в код.... Но по докам все должно работать... помогите, в чем ошибка ?
Записан
arTik
Гость
« Ответ #1 : Июнь 22, 2005, 15:29 »

Нашел еще одну фишку, если самому в коде поменять вместо:

Код:
pushButtonFilterUpdate->setIconSet( QIconSet( QPixmap::fromMimeSource( "update.png" ) ) );


поставить

Код:
pushButtonFilterUpdate->setIconSet( QIconSet( QPixmap::fromMimeSource( "images/update.png" ) ) );


то прога будет все показывать, если есть каталог images и там есть картинки... а как все в exe-шник встроить Непонимающий
Записан
Sergeich
Гость
« Ответ #2 : Июнь 22, 2005, 16:11 »

Вообще-то все должно работать. Можешь попробовать написать в прошке
Код:

IMAGES += ./images/update.png \
...

Если надо встроить картинки в dll воспользуйся qembed (см. Assistant)
Записан
arTik
Гость
« Ответ #3 : Июнь 22, 2005, 16:24 »

Цитата: "Sergeich"
Вообще-то все должно работать. Можешь попробовать написать в прошке
Код:

IMAGES += ./images/update.png \
...


Попробовал, не заработало... точно также все Грустный

Цитата: "Sergeich"

Если надо встроить картинки в dll воспользуйся qembed (см. Assistant)


Да нет... в dll мне не надо... мне нужно просто, чтобы это все было в exe-шнике...
Записан
Sergeich
Гость
« Ответ #4 : Июнь 22, 2005, 16:33 »

у тебя в каталоге проекта должен быть файл qmake_image_collection.cpp, а нем примерно следующий кусок кода
Код:
// images\update.png
static const unsigned char image_12_data[] = {
    0x00,0x00,0x07,0x90,0x78,0x9c,0x95,0x95,0x7d,0x4c,0x93,0x57,0x14,0xc6,
    0xcb,0x50,0x41,0x90,0x80,0x50,0x44,0xb0,0x08,0xed,0x60,0x52,0xac,0x54,

у тебя он есть?
Записан
arTik
Гость
« Ответ #5 : Июнь 22, 2005, 16:36 »

Вот как раз на trolltech.com я нашел эту инфу, что должен быть такой файл... но у меня его нет... как он создается и чем Непонимающий
Записан
Sergeich
Гость
« Ответ #6 : Июнь 22, 2005, 16:45 »

Файл создается qmake, он в свою очередь вызывает uic -embed ...
Попробуй полность перекомпилять проект ( с qmake )
Записан
arTik
Гость
« Ответ #7 : Июнь 22, 2005, 17:41 »

Цитата: "Sergeich"
Файл создается qmake, он в свою очередь вызывает uic -embed ...
Попробуй полность перекомпилять проект ( с qmake )


Я просто через сам VS 2003 .NET компилю... поэтому не знаю, что он там указывает...

Попробовать руками скомпилить Непонимающий Правда никогда этого не делал, т.к. я начинающий...
Записан
Sergeich
Гость
« Ответ #8 : Июнь 22, 2005, 17:59 »

Заходишь в каталог с проектом ( где лежит про-файл ) через FAR или cmd, и запускаешь
 nmake clean
 qmake
 nmake
Записан
arTik
Гость
« Ответ #9 : Июнь 22, 2005, 18:05 »

Вот что вышло:

Код:
F:\Programming\qt\QCiscoFW>qmake

F:\Programming\qt\QCiscoFW>nmake

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

        C:\Qt\3.3.4\bin\uic.exe mainform.ui -o mainform.h
        C:\Qt\3.3.4\bin\uic.exe mainform.ui -i mainform.h -o mainform.cpp
        C:\Qt\3.3.4\bin\moc.exe mainform.h -o moc_mainform.cpp
        cl -c -nologo -Zm200 -W3 -w34100 -w34189 -MD -O1  -DUNICODE -DWIN32 -DQT
_DLL -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -I"C:\Qt\3.3.4\include" -I"." -I"C:\Qt\3.
3.4\mkspecs\win32-msvc.net" -Fo @C:\DOCUME~1\art\LOCALS~1\Temp\nm830.tmp
mainform.cpp
moc_mainform.cpp
Generating Code...
        link /NOLOGO /DELAYLOAD:comdlg32.dll /DELAYLOAD:oleaut32.dll /DELAYLOAD:
winmm.dll /DELAYLOAD:wsock32.dll /DELAYLOAD:winspool.dll /SUBSYSTEM:WINDOWS /LIB
PATH:"C:\Qt\3.3.4\lib" /OUT:QCiscoFW.exe @C:\DOCUME~1\art\LOCALS~1\Temp\nm831.tm
p
LINK : warning LNK4199: /DELAYLOAD:comdlg32.dll ignored; no imports found from c
omdlg32.dll
LINK : warning LNK4199: /DELAYLOAD:oleaut32.dll ignored; no imports found from o
leaut32.dll
LINK : warning LNK4199: /DELAYLOAD:winmm.dll ignored; no imports found from winm
m.dll
LINK : warning LNK4199: /DELAYLOAD:wsock32.dll ignored; no imports found from ws
ock32.dll
LINK : warning LNK4199: /DELAYLOAD:winspool.dll ignored; no imports found from w
inspool.dll
qtmain.lib(qtmain_win.obj) : error LNK2019: unresolved external symbol _main ref
erenced in function _WinMain@16
QCiscoFW.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.

F:\Programming\qt\QCiscoFW>


Однако файлы qmake_image_collection.cpp и qmake_image_collection.obj появились... но exe-файл не создался Грустный
Записан
Sergeich
Гость
« Ответ #10 : Июнь 22, 2005, 18:13 »

Скорей всего у тебя что-то не то с прошкой. Вышли заценить ( про-файл )
Записан
arTik
Гость
« Ответ #11 : Июнь 22, 2005, 18:15 »

Вот весь мой pro-файл...

Код:
TEMPLATE	= app
LANGUAGE = C++

CONFIG += qt warn_on

FORMS = mainform.ui

IMAGES += images/qciscofw.png \
images/search.png \
images/users.png \
images/update.png \
images/tools.png \
images/exit.png \
images/icq_connecting.mng

# ----------------------------------------------------------
# Project generated by QMsNet v1.0.0
#    Template used:    Basic Application
#    Template version: 1.1
# ----------------------------------------------------------

TARGET         = QCiscoFW

unix {
   UI_DIR      = .ui
   MOC_DIR     = .moc
   OBJECTS_DIR = .obj
}


Записан
Sergeich
Гость
« Ответ #12 : Июнь 22, 2005, 18:34 »

Странно... все сроде должно работать... а если попробовать заново сгенерить VS проект из прошки?
Записан
arTik
Гость
« Ответ #13 : Июнь 22, 2005, 18:37 »

Цитата: "Sergeich"
Странно... все сроде должно работать... а если попробовать заново сгенерить VS проект из прошки?


А это как Непонимающий И я неправильно понял Вас ?
Записан
arTik
Гость
« Ответ #14 : Июнь 22, 2005, 18:45 »

Может быть при установке Qt нужно какую-то галочку поставить или что-то в этом роде Непонимающий
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.089 секунд. Запросов: 20.