Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ отрисовка изображений

Автор: SDLM 6.7.2011, 9:34

простенькая прога с использованием QGraphicsView (подгружающего картинки из папки вложенной в папку с exe файлом) и QToolBar с иконками из файла ресурсов (которые, насколько я понимаю, должны включаться в сам exe, я прав ?)

при тестировании на машине без установленной Qt, несмотря на наличие QtCore4.dll и QtGui4.dll, отрисовка картинок - отсутствует.
проблемы из-за различия в ОС .. наверное могли возникнуть, но .. если проблема в них, то поясните плиз.
проблем с различием в x64 - x86 возникнуть не должно было, т.к. MinGW компилит под x86 и только под него( заставить его компилить под x64 у мя не получилось, т.к. цитата "Options: -b, -m Ignored for compatibility.")

скрин на Win7 x64
http://clip2net.com/clip/m84163/1309931995-clip-14kb.jpg

скрин на WinXP x86
http://clip2net.com/clip/m84163/1309932817-clip-4kb.png

неуверен что есть смысл приводить этот код загрузки картинок в QGraphicsView, но пусть на всякий случай будет будет

Раскрывающийся текст

QPixmap pics;
if ( Tday.glyph < 10 )
pics.load(".\\img\\" + QString::fromStdString( style_name[style_type] ) + "\\0" + QString::number(Tday.glyph) + ".jpg");
else
pics.load(".\\img\\" + QString::fromStdString( style_name[style_type] ) + "\\" + QString::number(Tday.glyph) + ".jpg");

pics = pics.scaled( 120, 120, Qt::KeepAspectRatio, Qt::SmoothTransformation );
GraphicsScene[0]->addPixmap( pics );
ui->graphicsView->setFixedSize( 120, 120 );
ui->graphicsView->setScene( GraphicsScene[0] );
ui->graphicsView->show();

Автор: Litkevich Yuriy 6.7.2011, 10:08

http://wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows, читал?

Автор: SDLM 6.7.2011, 10:25

да, читал.

Раскрывающийся текст
раз на этапе запуска приложения проблем не возникло, значит все dll присутствуют, значит читал, не ?

Автор: Litkevich Yuriy 6.7.2011, 10:53

Цитата(SDLM @ 6.7.2011, 13:25) *
раз на этапе запуска приложения проблем не возникло, значит все dll присутствуют
нет, плагины не мешают загрузки приложения
Цитата(SDLM @ 6.7.2011, 13:25) *
значит читал, не ?
не известно

Автор: SDLM 6.7.2011, 11:02

ясно, про плагины не учёл, т.к. я ими ни разу не пользовался, то не мудрено.
но тут програмка простенькая, так что, никаких плагинов нет.

Автор: Litkevich Yuriy 6.7.2011, 11:05

Цитата(SDLM @ 6.7.2011, 14:02) *
так что, никаких плагинов нет
а движки картинок, где?

Автор: SDLM 6.7.2011, 11:06

что есть "движки картинок" ?

Автор: Litkevich Yuriy 6.7.2011, 11:07

Цитата(SDLM @ 6.7.2011, 14:06) *
что есть "движки картинок" ?
код, который умеет читать некий формат файла-картинки и превращать его в растр, например JPEG -> растр

Автор: SDLM 6.7.2011, 11:31

где здесь конкретно "движок картинок" не скажу, но за загрузку файла картинок отвечает следующий код

QPixmap pics;
pics.load(".\\img\\name.jpg"); // из файла в QPixmap

GraphicsScene[0]->addPixmap( pics ); // из QPixmap в QGraphicsScene

ui->graphicsView->setScene( GraphicsScene[0] ); // и, наконец, в QGraphicsView

ui->graphicsView->show(); // перерисовать


видимо, в данном случае
pics.load(".\\img\\name.jpg"); // "движок картинок"

Автор: Litkevich Yuriy 6.7.2011, 11:52

Цитата(SDLM @ 6.7.2011, 14:31) *
где здесь конкретно "движок картинок"
в плагинах он, читай внимательно всю статью в нашей вики

Автор: SDLM 6.7.2011, 12:44

спасибо ! помогло.
не думал, что всего лишь работа с картинкой идёт как плагин

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)