Lecteur de GIF, aussi inutile qu'inutile !

Tutos et exemples de scripts et de code
Post Reply
Violette
Posts: 119
Joined: 10 Aug 2014, 17:42

Lecteur de GIF, aussi inutile qu'inutile !

Post by Violette »

Bon ok, ce titre est nul mdr mais je savais pas quoi mettre. Bref je met ce code ici, il était destiné à illustrer la lecture de GIF dans un QLabel pour le wiki mais le code est devenu trop complexe pour ça.

Code: Select all

;(function() {
    var mainWindow = new QDialog();

    mainWindow.setWindowTitle("Les joies du code");
    mainWindow.setWindowFlags(Qt.MSWindowsFixedSizeDialogHint);
    mainWindow.setStyleSheet('QScrollArea { border: none; } QLabel#labelGif { border: 5px solid black;}');

    var mainScrollArea = new QScrollArea(mainWindow);
    var mainFrame = new QFrame();
    var mainLayout = new QVBoxLayout();

    var nameGif = {"ie" : "Quand un ami me demande d'inspecter son PC et que je découvre qu'il utilise IE", "izi" : "Quand je remplace les 200 lignes du binome par seulement 10 lignes", "commercial" : "Quand j'entends le commercial vendre le projet au client", "jamais" : "Quand on m'annonce que le module sur lequel j'ai passe la semaine ne sera jamais utilise", "joomla" : "Quand le stagiaire propose de realiser le site avec Joomla!", "stagiaire" : "Quand le stagiaire me dit que les tests, c'est pour ceux qui savent pas coder", "reprise" : "Quand je reprends du code que je n'avais pas commente"};
    var movieGif = [], labelGif = [], labelText = [], frameGif = [], layoutFrameGif = [];
    var maxSize = new QSize(1, 500);

    for (var i in nameGif) {
        frameGif[i] = new QFrame();
        layoutFrameGif[i] = new QVBoxLayout();

        movieGif[i] = new QMovie(i + ".gif");
        labelGif[i] = new QLabel();
        labelGif[i].setMovie(movieGif[i]);
        labelGif[i].objectName = "labelGif";

        labelText[i] = new QLabel("<b>" + nameGif[i] + "</b>");
        labelText[i].textInteractionFlags = Qt.TextSelectableByMouse;
        labelText[i].wordWrap = true;

        movieGif[i].start();

        layoutFrameGif[i].addWidget(labelGif[i], 0, Qt.AlignHCenter);
        layoutFrameGif[i].addWidget(labelText[i], 0, 0);

        frameGif[i].setLayout(layoutFrameGif[i]);

        if (labelGif[i].sizeHint.width() > maxSize.width())
            maxSize.setWidth(labelGif[i].sizeHint.width());

        mainLayout.addWidget(frameGif[i], 0, 0);
    }

    var source = new QLabel("<p>GIFs tirés du site <a href=\"http://lesjoiesducode.fr\">http://lesjoiesducode.fr</a></p>");
    source.linkActivated.connect(function() {
        var a = QDesktopServices;
        a.openUrl(new QUrl("http://www.nelson-haha.com/"));
    });

    var excuse = new QLabel("<p>Bon ok, chuis dsl, j'aurais pas du faire ça, si vous voulez le vrai lien, il faut le copier avec un clic droit sur le lien =)");
    excuse.wordWrap = true;

    mainLayout.addWidget(source, 0, 0);
    mainLayout.addWidget(excuse, 0, 0);

    mainFrame.setLayout(mainLayout);

    mainScrollArea.setWidget(mainFrame);
    mainScrollArea.size = maxSize;
    mainFrame.size = new QSize(maxSize.width()-17, mainFrame.sizeHint.height());

    mainWindow.exec();
})();

/***** NOTES *****/
///QFrame : 9px de marge soit 18 px de marge horizontal
//QScrollBar : 17px
/***** NOTES *****/
Pour les GIFs qui vont bien avec, le transfert en pièce jointe prends 20 ans =)

Code à mettre dans une action code ou dans un fichier .acod.

Mini tuto lecture fichier acod, attention c'complexe foulage de neurone en vue ^^

- On ouvre son bloc note, on colle le code dedant, et on l'enregistre en blabla.acod (le blabla est très très important donc surtout ne le changez pas sinon vous risquez de faire planter la machine à café de vos voisins) (et ils risquent de pas être content)
- L'ouvrir avec actexe.exe situé ici (C:\Program Files\Actionaz) pour moi

Bref comme vous pouvez le constater c'est trèèès simple, mais si comme moi vous ne saviez pas et que vous vouliez pour la péter en utilisant pas les .ascr (ou surtout utiliser votre Sublime Text adoré), ça vous évitera de galérer pour trouver comment on fait.

EDIT : Bon ok j'ai rien commenté donc c'est nul mais promis, je le ferais (mais j'vous dit pas quand ahahahah)
Attachments
gif-de-la-mort-qui-tue.rar
(7.45 MiB) Downloaded 184 times
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: Lecteur de GIF, aussi inutile qu'inutile !

Post by Jmgr »

Intéressant, merci de l'avoir posté!

C'est hors-sujet, mais je te conseille plutôt d'utiliser 7z pour les archives, il compresse bien mieux que rar et est un format ouvert. (et Sublime Text c'est pas libre)
"My software never has bugs. It just develops random features."
Violette
Posts: 119
Joined: 10 Aug 2014, 17:42

Re: Lecteur de GIF, aussi inutile qu'inutile !

Post by Violette »

Jmgr wrote:C'est hors-sujet, mais je te conseille plutôt d'utiliser 7z pour les archives, il compresse bien mieux que rar et est un format ouvert.
J'y penserais pour la prochaine fois :p.
Jmgr wrote:(et Sublime Text c'est pas libre)
Oui mais sous windows c'est le meilleur éditeur de texte que j'ai testé... Et pourtant j'en ai testé pleins... Il est léger, rapide à charger, portable, personnalisable très facilement... Nativement plus complet que Notepad++ sans compter les plugins, sans être une usine à gaz comme des IDE style Aptana, ou autres, qui ormis gros projet logicielle, sera bien trop lourd à utiliser ^^.
Post Reply