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 :

Transparence et vidéo


Sujet :

Qt

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Transparence et vidéo
    Bonjour,

    Je suis en train de développer une petite application de lecture de video avec libVLC. Je voudrais mettre une Qtoolbar sur la video en cours de lecture et mettre le fond de cette toolbar en transparent. J'ai donc ajouté ce code pour rendre transparente la ToolBar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PlayerToolBar->setStyleSheet("QToolBar { background-color : transparent ; color:white; border-color: transparent;} QToolButton{background-color : transparent;} ");
    Mais visiblement ca ne fonctionne pas. Comment puis-je rendre transparente cette ToolBar ?

    D'avance merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Je reviens sur le sujet car j'ai toujours le problème.
    J'ai essayé de gérer l'affichage avec l'ajout d'un QGraphicsscene et QGraphicsview mais j'ai toujours le même problème.

    Quelqu'un aurait une solution?

  3. #3
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 785
    Points
    1 785
    Par défaut
    Bonjour,

    Dans quel type de widget est rendu ta vidéo ? QGraphicsView, QWidget/Frame, QGLWidget ?
    Tu peux poster un screen du résultat que tu obtiens actuellement ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Alors la seul possibilité que j'ai pour que la toolbar reste au premier plan est que je mette le flux dans un widget.
    En fait j'ai créé un objet player dans lequel je met un widget. A ce widget j'attribue le flux et je met comme parent de la toolbar le player. Mais j'ai toujours l'arrière plan de la toolbar qui est de la couleur de l'arrière plan du player et pas le flux directement.

    Lorsque je met dans un qgraphicsview, la toolbar est recouverte completement par la video, ...

    Je ferai un screenshot demain matin pour montrer les dégâts

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Voici l'apercu du résultat:
    Images attachées Images attachées  

  6. #6
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 785
    Points
    1 785
    Par défaut
    Essaye de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlayerToolBar->setAttribute(Qt::WA_TranslucentBackground);
    Tente aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlayerToolBar->setAutoFillBackground(false);
    Voir les deux en même temps.
    Par contre si le rendu de la vidéo est effectué par OpenGL, je pense que ça ne suffira pas. Il faudra peut-être que tu dessine toi même ta toolbar dans la fenêtre.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Merci pour ta réponse et tes suggestions. Malheureusement ca ne fonctionne pas.
    Voici le code que j'utilise pour intégrer le flux video:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        m = libvlc_media_new_path(inst, "dshow://");
        libvlc_media_add_option(m,":dshow-vdev=");
        libvlc_media_add_option(m,":dshow-adev=none");
     
        mp = libvlc_media_player_new_from_media (m);
     
        libvlc_media_player_set_hwnd(mp,_videoWidget->winId());
     
        libvlc_media_player_play(mp);
     
        _isPlaying=true;
    Comme je le disait j'intégre le flux video dans un widget nommé ici _videoWidget.

  8. #8
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 785
    Points
    1 785
    Par défaut
    Et quel est le type de _videoWidget ? QWidget, QFrame, QGLWidget, QGraphicsView ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    J'ai essayé avec un QFrame et un QWidget mais ca donne la même chose...

    Lorsque je faisais avec un QGraphicscene, la Qtoolbar était recouverte par la video.

  10. #10
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 785
    Points
    1 785
    Par défaut
    Je n'ai pas trop d'autre idées, peut-être que vu que tu fournit le winId() à LibVLC, elle prend "possession" de la fenêtre. Je n'utilise pas LibVLC pour ma part, c'est dur d'en savoir plus.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Le problème c'est que je n'ai pas vu d'exemple sur ce problème. En plus je me suis fait limite jeté sur les forums de libVLC car ce n'est pas un soucis de vlc mais d'adaptation avec Qt...

    J'arrive pas à avancer avec ca lol

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2013, 11h26
  2. Récupération de la transparence des vidéos lues
    Par Xemame dans le forum OpenCV
    Réponses: 8
    Dernier message: 08/06/2010, 15h01
  3. DirectX - Vidéo et Transparence d'une Form
    Par BaBelZ dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/11/2009, 09h02
  4. Vitesse de la mémoire vidéo
    Par Anonymous dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 06/06/2002, 20h20

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