本文主要是介绍Qt+FFmpeg开发视频播放器笔记(二):界面UI搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果图
主要使用无边框窗体搭建,实现窗体的拖动和缩放,播放列表、文件打开等。
主要代码
manwindow设计类
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMutex>
#include "framelesshelper.h"QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_m_closeBtn_clicked();void on_m_maxBtn_clicked();void on_m_minBtn_clicked();void on_m_listBtn_clicked();void on_m_openBtn_clicked();private:void InitUI();void InitSlots();void framelesshelperInit();private:Ui::MainWindow *ui;bool isListHid = true;QMap<QString,QString> m_playMap ;QMutex m_mapMutex;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint);// 适用调色板设置背景色QPalette palette(this->palette());palette.setColor(QPalette::Window, Qt::gray); //设置背景黑色this->setPalette(palette);this->setMouseTracking(true);// 设置鼠标跟踪,不然只会在鼠标按下时才会触发鼠标移动事件InitUI();framelesshelperInit();
}MainWindow::~MainWindow()
{de
这篇关于Qt+FFmpeg开发视频播放器笔记(二):界面UI搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!