Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QT widget is not visible properly
Qt 6.11 is out! See what's new in the release blog

QT widget is not visible properly

Scheduled Pinned Locked Moved Unsolved General and Desktop
2 Posts 2 Posters 542 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CorD SaC
    wrote on last edited by CorD SaC
    #1

    In this code which can able to play video and play *.mp3. code works properly,in my mainwindow.ui I added widget called widgetGif by drag and drop .This widget containing label also. but this widget not visible when I run the program. How can I display this widget called widgetGif

    here is part of my code :

    
        #include "mainwindow.h"
        #include "ui_mainwindow.h"
        #include <QDebug>
        #include <QMovie>
        
        
        MainWindow::MainWindow(QWidget *parent) :
            QMainWindow(parent),
            ui(new Ui::MainWindow)
        {
            ui->setupUi(this);
            player = new QMediaPlayer(this);
            vw = new QVideoWidget (this);
            player->setVideoOutput(vw);
            this->setCentralWidget(vw); //I think this is the reason
            
            slider = new QSlider(this);
            bar = new QProgressBar(this);
            slider->setOrientation(Qt::Horizontal);
            ui->statusBar->addPermanentWidget(slider);
            ui->statusBar->addPermanentWidget(bar);
            
            
            
            connect(player,&QMediaPlayer::durationChanged,slider,&QSlider::setMaximum);
            connect(player,&QMediaPlayer::positionChanged,slider,&QSlider::setValue);
            connect(slider,&QSlider::sliderMoved,player,&QMediaPlayer::setPosition);
            connect(player,&QMediaPlayer::durationChanged,bar,&QProgressBar::setMaximum);
            connect(player,&QMediaPlayer::positionChanged,bar,&QProgressBar::setValue);
            
            
            sliderVolumn = new QSlider(this);
            sliderVolumn->setOrientation(Qt::Horizontal);
            ui->statusBar->addPermanentWidget(sliderVolumn);
            
            connect(sliderVolumn,&QSlider::sliderMoved,player,&QMediaPlayer::setVolume);
            
            QMovie *movie=new QMovie(":/res/icons/giphy.gif");
            if (!movie->isValid())
            {
                // Something went wrong :(
            }
            ui->labelGif->setMovie(movie);
            movie->start();
            
            ui->widgetGif->setVisible(true);
        }
        
        
        MainWindow::~MainWindow()
        {
            delete ui;
        }
        
        void MainWindow::on_actionOpen_triggered()
        {
            QString filename= QFileDialog::getOpenFileName(this,"Open Folder","","Open a File(*.*)");
            on_actionStop_triggered();
            player->setMedia(QUrl::fromLocalFile(filename));
            on_actionPlay_triggered();
            
            if(filename.endsWith(".mp3")){
                qDebug() << " file is mp3";
                
            }else{
                qDebug() << " not is mp3";
                
            }
        }
    
    joeQJ 1 Reply Last reply
    0
    • C CorD SaC

      In this code which can able to play video and play *.mp3. code works properly,in my mainwindow.ui I added widget called widgetGif by drag and drop .This widget containing label also. but this widget not visible when I run the program. How can I display this widget called widgetGif

      here is part of my code :

      
          #include "mainwindow.h"
          #include "ui_mainwindow.h"
          #include <QDebug>
          #include <QMovie>
          
          
          MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
          {
              ui->setupUi(this);
              player = new QMediaPlayer(this);
              vw = new QVideoWidget (this);
              player->setVideoOutput(vw);
              this->setCentralWidget(vw); //I think this is the reason
              
              slider = new QSlider(this);
              bar = new QProgressBar(this);
              slider->setOrientation(Qt::Horizontal);
              ui->statusBar->addPermanentWidget(slider);
              ui->statusBar->addPermanentWidget(bar);
              
              
              
              connect(player,&QMediaPlayer::durationChanged,slider,&QSlider::setMaximum);
              connect(player,&QMediaPlayer::positionChanged,slider,&QSlider::setValue);
              connect(slider,&QSlider::sliderMoved,player,&QMediaPlayer::setPosition);
              connect(player,&QMediaPlayer::durationChanged,bar,&QProgressBar::setMaximum);
              connect(player,&QMediaPlayer::positionChanged,bar,&QProgressBar::setValue);
              
              
              sliderVolumn = new QSlider(this);
              sliderVolumn->setOrientation(Qt::Horizontal);
              ui->statusBar->addPermanentWidget(sliderVolumn);
              
              connect(sliderVolumn,&QSlider::sliderMoved,player,&QMediaPlayer::setVolume);
              
              QMovie *movie=new QMovie(":/res/icons/giphy.gif");
              if (!movie->isValid())
              {
                  // Something went wrong :(
              }
              ui->labelGif->setMovie(movie);
              movie->start();
              
              ui->widgetGif->setVisible(true);
          }
          
          
          MainWindow::~MainWindow()
          {
              delete ui;
          }
          
          void MainWindow::on_actionOpen_triggered()
          {
              QString filename= QFileDialog::getOpenFileName(this,"Open Folder","","Open a File(*.*)");
              on_actionStop_triggered();
              player->setMedia(QUrl::fromLocalFile(filename));
              on_actionPlay_triggered();
              
              if(filename.endsWith(".mp3")){
                  qDebug() << " file is mp3";
                  
              }else{
                  qDebug() << " not is mp3";
                  
              }
          }
      
      joeQJ Offline
      joeQJ Offline
      joeQ
      wrote on last edited by joeQ
      #2

      @CorD-SaC Hi,friend. Welcome.

      Could you move below code to void MainWindow::showEvent function, try it.

      QMovie *movie=new QMovie(":/res/icons/giphy.gif");
              if (!movie->isValid())
              {
                  // Something went wrong :(
              }
              ui->labelGif->setMovie(movie);
              movie->start();
              
              ui->widgetGif->setVisible(true);
      

      Just do it!

      1 Reply Last reply
      1

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved