IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

QMainWindow ou QDialog : image SVG en arrière-plan


Sujet :

Qt

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut QMainWindow ou QDialog : image SVG en arrière-plan
    Bonjour,

    Dans une application Qt avec widgets, j'aimerais savoir s'il est possible d'incorporer une image vectorielle (svg) en fond de fenêtre (QMainWindow ou QDialog). Et comment ?
    Merci.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Je précise un petit peu la question :

    Afficher un fichier svg est apparemment facile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /* QT       += svg
        #include <QtSvg> */
    ui->setupUi(this);
    setStyleSheet( "background-image: url(:/svg/newtux.svg);"
                          "background-position: top left; "
                          "background-repeat: no-repeat;");
    Mon problème est le redimensionnement de l'image. Un 0 0 0 0 strech strech n'est pas utilisable en StyleSheet. Utiliser le paint de la fenêtre... ou un QLabel en fond d'écran Il n'y a pas mieux ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Re,
    pour l'instant faute de mieux et faute de temps, j'ai surchargé paintEvent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /* QT       += svg
       #include <QtSvg> */
    protected:
        void paintEvent(QPaintEvent *event);
    private:
        Ui::MainWindow *ui;
        QPixmap m_pix;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    { 
       QSvgRenderer m_renderer(QString(":/svg/newtux.svg"));
       m_pix = QPixmap(m_renderer.defaultSize());
       m_pix.fill(Qt::transparent);
       QPainter m_painter(&m_pix);
       m_renderer.render(&m_painter);
    }
    void MainWindow::paintEvent(QPaintEvent *event)
    {
       Q_UNUSED(event)
       QPainter m_painter(this);
       m_painter.fillRect(m_pix.rect(), Qt::transparent);
       m_painter.drawPixmap(ui->widget->rect(), m_pix);
    }
    On va dire résolu. Mais s'il y a mieux, je reste preneur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Image bloquées en arrière plan C++builder
    Par noahsaga dans le forum C++
    Réponses: 0
    Dernier message: 09/02/2011, 19h13
  2. Image de l'arrière plan
    Par s.rais dans le forum Windows XP
    Réponses: 2
    Dernier message: 19/09/2009, 19h17
  3. Réponses: 3
    Dernier message: 27/11/2008, 17h50
  4. Image externe en arrière plan
    Par fyter dans le forum ActionScript 3
    Réponses: 5
    Dernier message: 24/01/2008, 10h34
  5. création des images gif sans arrière plan
    Par Amissan dans le forum Flash
    Réponses: 3
    Dernier message: 08/12/2006, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo