Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[QT3] retrouver une image dans QMimeSourceFactory

Bonjour tout le monde et joyeuses fêtes :

J'ai besoin d'un peu d'aide sur les QMimeSourceFactory.

je mets dans QMimeSourceFactory des QPixmap comme suit :
QPixmap image (...); // une image
QMimeSourceFactory::defaultFactory()->setPixmap( "nom image unique", image );

Ok cela fonctionne très bien et s'affiche très bien avec :

"image" dans un QTextEdit

Donc QMimeSourceFactory stocke ces images quelque part en faisant
une copie.

Mon PB est que lors de la sauvegarde du texte html je voudrais
retirer ces images de QMimeSourceFactory pour les sauvegarder
dans un répertoire, ou les mettre en base.

le rêve serait de disposer d'une fonction du style :

QPixmap image = QMimeSourceFactory::defaultFactory()->getPixmap( "nom image unique");

avez vous une idée ??

j'ai bien pensé faire une classe dérivée de QMimeSourceFactory
surchargeant la méthode setPixmap ( const QString & abs_name, const QPixmap & pixmap )
pour stocker le pixmap dans une QMap ou QDict (peu importe) afin de pouvoir la retrouver
mais je trouve cela dommage de maintenir une autre liste alors que QMimeSourceFactory le fait,
d'autant qu'il me semble que dans les méthodes :

virtual const QMimeSource * data ( const QString & abs_name )

il y a ce qu'il faut. Mais je n'arrive pas à les utiliser. Honte à mon
manque d'expérience.

Merci pour vos idées.

Roland Sevin
roland-sevin@ nospam @medintux.org

Réponses

  • Salut,

    QMimeSource::encodedData ne te renvoit pas un pixmap ou une image valide? (éventuellement encodé, regarde le contenu de format pour gagner du temps dans ton analyse)
  • >> QMimeSource::encodedData ne te renvoit pas un pixmap ou une image valide?
    >> (éventuellement encodé, regarde le contenu de format pour gagner du temps dans ton analyse)

    Merci pour ton aide, effectivement mon PB est résolu et ça marche avec :


    const QMimeSource *pQMimeSource = QMimeSourceFactory::defaultFactory()->data( "nom image unique" );
    if (pQMimeSource)
    { QPixmap pixmap(pQMimeSource->encodedData ( "image/png" )); // récuperer le pixmap (c'était un png)
    .
    . // on en fait un peu ce que l'on veut de ce pixmap
    }


    Merci encore !!

    Roland Sevin
    roland-sevin@ nospam @medintux.org
  • Si ça ne t'embête pas, je préférerai que tu passes ce post en résolu (lien en bas à droite de chacun de tes posts), et que tu supprimes l'autre qui n'apporte pas grand chose ;)
Connectez-vous ou Inscrivez-vous pour répondre.