2010-12-05 33 views
0

Quelqu'un peut-il s'il vous plaît donner un exemple de comment CHARGER qjpeg ou tout autre plugin QT standard manuellement. S'il vous plaît donner un EXEMPLE DE CODE, pas un lien vers les pages qt parce que je connais déjà les faits suivants:chargement standard qt plugins MANUELLEMENT et dynamiquement

  1. Je ne lie pas qt comme statique lib. Je sais comment déployer des plugins qt standard (c'est la partie automatique) 2.1. pour qjpeg vous copiez qjpeg4.dll en ./imageformats/qjpeg4.dll en tant que. étant le répertoire de base de votre application. mais je veux charger et utiliser qjpeg lib.

comme dans

QPluginLoader loader("qjpeg4.dll"); 
if (loader.instance()) { 
    cout << "ok" << endl; 
} else { 
    cout << "fail" << endl << loader.errorString().toStdString() << endl; 
} 


QList<QByteArray> list = QImageReader::supportedImageFormats(); 
for (int i = 0; i < list.size(); ++i) { 
    f << list.at(i).constData() << std::endl; 
} 

cela n'imprime pas les images jpg et jpg ne peuvent pas être lus et écrits. Peut-être que si quelqu'un ajoute quelque chose de plus, cela fonctionnera. ou peut-être que je me trompe.

Répondre

0

Je ne l'ai pas fait mais voici une supposition éclairée, vous faites probablement la bonne chose pour charger le plugin mais en ne passant pas la route normale le QImageReader ne sait pas réellement sur le plugin étant disponible. Si vous avez vraiment besoin de charger explicitement votre plugin, vous pouvez probablement convertir le résultat de QPlugiLoader::instance() en QImageIOPlugin et en utilisant le QIOImageHandler pour lire vos jpgs, mais il semblerait que vous deviez renoncer à utiliser le QImageReader