Прошло несколько месяцев с тех пор, как я изучил Qt, но я не выполнял никаких связанных с ним проектов для закрепления. На этот раз я поделюсь 10 небольшими проектами, связанными с Qt, чтобы попрактиковаться в своих навыках.
Видеоплеер MP4 на базе Qt:
Заголовочные файлы в основном включают в себя следующее:
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QVideoWidget>
#include <QGraphicsVideoItem>
#include <QFileDialog>
#include <QGraphicsScene>
Если дополнение показывает, что библиотека не может быть найдена, добавьте: в профайл:
Интерфейс пользовательского интерфейса показан ниже:
void MainWindow::on_openButton_clicked()
{
QString strCurrentPath = QDir::homePath(); //Получаем текущий каталог системы
QString strDlgTitle = «Выбрать видеофайл»;
QString strFilter = "MP4 File(*.mp4);;All File(*.*)";// Включите фильтрацию видеофайлов
QString strAllFiles = QFileDialog::getOpenFileName(this,strDlgTitle,strCurrentPath,strFilter);
if(strAllFiles.isEmpty())
{
QMessageBox::information(this, "Ошибка", "Не удалось открыть видеофайл, проверьте еще раз", QMessageBox::Да|QMessageBox::No);
return;
}
QFileInfo fileInfos(strAllFiles); // Получить информацию о файле
ui->label_2->setText(fileInfos.fileName());
player->setMedia(QUrl::fromLocalFile(strAllFiles));
player->play();
}
void MainWindow::on_playButton_clicked()
{
player->play();
}
void MainWindow::on_pauseButton_clicked()
{
player->pause();
}
void MainWindow::on_stopButton_clicked()
{
player->stop();
}
void MainWindow::on_pushButton_Sound_clicked()
{
bool mte=player->isMuted();
player->setMuted(!mte);
if(mte)
ui->pushButton_Sound->setIcon(QIcon(":/new/prefix1/images/volumn.bmp"));
else
ui->pushButton_Sound->setIcon(QIcon(":/new/prefix1/images/mute.bmp"));;
}
void MainWindow::onDurationChanged(qint64 duration)
{
ui->horizontalSlider_Position->setMaximum(duration);
int секунды=длительность/1000;//секунды
int mins=secs/60; //минута
secs=secs % 60;//оставшиеся секунды
durationTime=QString::asprintf("%d:%d",mins,secs);
ui->label_Ratio->setText(positionTime+"/"+durationTime);
}
void VideoPlayer::onPositionChanged(qint64 position)
{
if (ui->horizontalSlider_Position->isSliderDown())
return;
ui->horizontalSlider_Position->setSliderPosition(position);//
int секунды=позиция/1000;//секунды
int mins=secs/60; //минута
secs=secs % 60;//оставшиеся секунды
positionTime=QString::asprintf("%d:%d",mins,secs);
ui->label_Ratio->setText(positionTime+"/"+durationTime);
}
Если эта статья была для вас полезна, пожалуйста, поддержите блогера трижды!