目录

一:源码分享

二:QMessageBox弹窗类

三:视频播放器界面设计效果展示


一:源码分享

indexwin.h .cpp 【视频播放器界面】

#ifndef INDEXWIN_H
#define INDEXWIN_H#include <QWidget>
#include<QVBoxLayout>//垂直布局
#include<QHBoxLayout>//水平布局
#include<QPushButton>
#include<QLineEdit>
#include<QListWidget>//制作视频页面列表class IndexWin : public QWidget
{Q_OBJECT
public:explicit IndexWin(QWidget *parent = 0);QWidget *leftwin;QWidget *topwin;QWidget *indexwin;QWidget *rightwin;QListWidget *videowinlist;//制作视频页面列表QLineEdit *searchEdit;QPushButton *userBtn;QPushButton *vipBtn;signals:public slots:void goNewwinSlot();
};#endif // INDEXWIN_H
#include "indexwin.h"
#include<QStringList>
#include<QDebug>
#include<QMessageBox>//弹窗
#include<QListWidget>//多个按钮显示,存放窗口的容器
#include<QDir>//路径
#include<QPixmap>//放置图片
#include<QListView>//设置图片模式IndexWin::IndexWin(QWidget *parent) : QWidget(parent)
{this->resize(1500,800);leftwin = new QWidget();topwin = new QWidget();//indexwin = new QWidget();rightwin = new QWidget();videowinlist = new QListWidget();//视频列表//设置图片模式--上面图片下面名称videowinlist->setViewMode(QListView::IconMode);//获取视频图片路径QString videopath = QDir::currentPath()+"/image";qDebug()<<videopath;QDir dir(videopath);//查找目录QStringList moviename;moviename << "*.png";//查找.png图片QStringList files = dir.entryList(moviename,QDir::Files|QDir::Readable,QDir::Name);qDebug()<<files; //查找.png图片名for(int i=0;i<files.size();i++){//显示.png图片及名称QListWidgetItem *newitem = new QListWidgetItem(QIcon(QPixmap(videopath+"/"+files.at(i))),files.at(i));//设置图片尺寸newitem->setSizeHint(QSize(200,150));videowinlist->addItem(newitem);}//方法一:自定义所有控件//控件水平  顶部控件水平分布QHBoxLayout *hboxlayout = new QHBoxLayout(topwin);searchEdit = new QLineEdit();userBtn = new QPushButton();vipBtn = new QPushButton();hboxlayout->addStretch();hboxlayout->addWidget(searchEdit);hboxlayout->addWidget(userBtn);hboxlayout->addWidget(vipBtn);//方法二:动态创建所有控件//按钮控件垂直  左边窗口放置一个垂直布局QVBoxLayout *vboxlayout1 = new QVBoxLayout(leftwin);QStringList funBtnlist;funBtnlist<<"logo"<<"视频"<<"动漫"<<"电影";for(int i=0;i<funBtnlist.size();i++){QPushButton *newBtn = new QPushButton(funBtnlist.at(i));//多个按钮绑定一个槽connect(newBtn,SIGNAL(clicked(bool)),this,SLOT(goNewwinSlot()));vboxlayout1->addWidget(newBtn);}//加空白 -- 将按钮上置vboxlayout1->addStretch();//两个窗口垂直//右半部分的布局放置顶部窗口和主窗口QVBoxLayout *rightboxlayout = new QVBoxLayout(rightwin);rightboxlayout->addWidget(topwin);//rightboxlayout->addWidget(indexwin);rightboxlayout->addWidget(videowinlist);//左边窗口和前面两个窗口垂直的部分 进行水平放置  最大的布局有thisQHBoxLayout *mainlayout = new QHBoxLayout(this);mainlayout->addWidget(leftwin);//放置窗口//mainlayout->addLayout(rightboxlayout);//放置布局mainlayout->addWidget(rightwin);
}void IndexWin::goNewwinSlot()
{//获取点击按钮的文本信息QPushButton *btn = (QPushButton *)sender();QString btnName = btn->text();qDebug()<<btn->text();//根据文本进行判断if(btnName == "logo"){//弹窗显示信息QMessageBox::information(NULL,"logo模块","这是logo模块测试");}if(btnName == "视频"){QMessageBox::information(NULL,"电视模块","这是电视模块测试");}if(btnName == "动漫"){QMessageBox::information(NULL,"动漫模块","这是动漫模块测试");}if(btnName == "电影"){QMessageBox::information(NULL,"电影模块","这是电影模块测试");}}

usersdata.h .cpp【多用户登录】

#ifndef USERSDATA_H
#define USERSDATA_H
#include<QString>//字符串class usersdata
{
public:usersdata();//默认构造usersdata(QString username,QString userpwd);//带参构造void setUsername(QString username);QString getUsername();void setUserpwd(QString userpwd);QString getUserpwd();private:QString username;QString userpwd;
};#endif // USERSDATA_H
#include "usersdata.h"usersdata::usersdata()
{}usersdata::usersdata(QString username, QString userpwd)
{this->username = username;this->userpwd = userpwd;
}void usersdata::setUsername(QString username)
{this->username = username;
}QString usersdata::getUsername()
{return username;
}void usersdata::setUserpwd(QString userpwd)
{this->userpwd = userpwd;
}QString usersdata::getUserpwd()
{return userpwd;
}

widget.h .cpp  【登录窗界面】

#ifndef WIDGET_H
#define WIDGET_H#include<QPushButton>//按钮
#include<QLineEdit>//编辑框
#include<QLabel> //文本
#include<QMovie> //动态图#include <QWidget>
#include<QList>
#include"usersdata.h"class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();QPushButton *loginBtn; //登录按钮QLineEdit *userEdit;   //用户编辑框QLineEdit *pwdEdit;    //密码编辑框QLabel *logoLab;       //logo文本,放置图片QLabel *userLab;       //用户文本QLabel *pwdLab;        //密码文本QLabel *loginLab;      //登录界面文本QLabel *gifLab;        //放置动态图文本QMovie *movie;         //动态图QList<usersdata *> userlist;//用户链表//所有槽函数的定义使用
public slots:void goLoginSlot();
};#endif // WIDGET_H
#include "widget.h"
#include<QDebug>     //输出头文件
#include"indexwin.h" //主界面窗口
#include<QDesktopWidget>//分辨率Widget::Widget(QWidget *parent): QWidget(parent)
{//数据类的准备usersdata *user1 = new usersdata("admin","123456");usersdata *user2 = new usersdata("manager","123456");userlist.append(user1);userlist.append(user2);//窗口大小设置this->resize(500,400);//setWindowFlags(Qt::FramelessWindowHint);//无边框//setAttribute(Qt::WA_TranslucentBackground);//背景透明QDesktopWidget w;int deskWidth = w.width();int deskHeight = w.height();qDebug()<<deskWidth<<deskHeight;//创建对象loginBtn = new QPushButton(this);userEdit = new QLineEdit(this);pwdEdit = new QLineEdit(this);logoLab = new QLabel(this);userLab = new QLabel(this);pwdLab = new QLabel(this);loginLab = new QLabel(this);gifLab = new QLabel(this);gifLab->resize(100,100);              //动态图文本大小movie = new QMovie("image/0505.gif"); //创建对象-动态图选择gifLab->setMovie(movie);              //放置动态图movie->start();                       //动态图显示// loginBtn->setText("登录");//登录按钮的起始位置,宽高设置loginBtn->setGeometry(200,200,100,50);//在登录按钮中放置图片loginBtn->setIcon(QIcon(QPixmap(":/image/050302.png")));//图片自适应按钮大小loginBtn->setIconSize(QSize(100,50));//userEdit->setGeometry(200,100,250,20);//pwdEdit->setGeometry(200,150,250,20);//用户编辑框起始位置userEdit->move(200,100);//用户编辑框提示内容信息userEdit->setPlaceholderText("请输入用户名");//用户编辑框设置输入长度userEdit->setMaxLength(11);//密码编辑框起始位置pwdEdit->move(200,150);//密码编辑框提示内容信息pwdEdit->setPlaceholderText("请输入密码");//密码编辑框设置输入长度pwdEdit->setMaxLength(8);//密码编辑框设置输入内容密文显示pwdEdit->setEchoMode(QLineEdit::Password);//logo文本大小//logoLab->resize(100,50);//放置logo图片到logoLab文本中//logoLab->setPixmap(QPixmap(":/image/050301.png").scaled(logoLab->size()));//用户名文本起始位置userLab->move(100,100);//用户名文本内容userLab->setText("用户名");//密码文本起始位置pwdLab->move(100,150);//密码文本内容pwdLab->setText("密码");//登录文本位置loginLab->move(250,40);//登录文本内容loginLab->setText("登录界面");//按钮点击让窗口关闭//connect(loginBtn,SIGNAL(clicked(bool)),this,SLOT(close()));//点击按钮跳转主界面connect(loginBtn,SIGNAL(clicked(bool)),this,SLOT(goLoginSlot()));
}Widget::~Widget()
{}void Widget::goLoginSlot()
{qDebug()<<"点击登录";//获取 编辑框内容QString username = userEdit->text();//qDebug()<<username;QString userpwd = pwdEdit->text();//字符串形式toLatin1转成数组形式for(int i=0;i<userlist.size();i++){//if(strcmp(username.toLatin1(),userlist.at(i)->getUsername().toLatin1()) == 0// &&strcmp(userpwd.toLatin1(),userlist.at(i)->getUserpwd().toLatin1()) == 0)if(username.compare(username,userlist.at(i)->getUsername())==0&&userpwd.compare(userpwd,userlist.at(i)->getUserpwd())==0){qDebug()<<"登录成功";IndexWin *p = new IndexWin;p->show();this->hide();}}
}

main.cpp 【程序主入口】

#include "widget.h"
#include <QApplication>
#include"indexwin.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);IndexWin w;w.show();return a.exec();
}

二:QMessageBox弹窗类

#include<QMessageBox>//弹窗

核心源码使用 

弹窗效果展示 

三:视频播放器界面设计效果展示

【Qt学习】 设计视频播放器界面相关推荐

  1. QT软件开发-基于FFMPEG设计视频播放器-软解图像(一)

    QT软件开发-基于FFMPEG设计视频播放器-CPU软解视频(一) https://xiaolong.blog.csdn.net/article/details/126832537 QT软件开发-基于 ...

  2. QT软件开发-基于FFMPEG设计视频播放器-解码音频(三)

    QT软件开发-基于FFMPEG设计视频播放器-CPU软解视频(一) https://xiaolong.blog.csdn.net/article/details/126832537 QT软件开发-基于 ...

  3. QT软件开发-基于FFMPEG设计视频播放器-GPU硬解、OpenGL渲染、解码音频完整例子(六)

    QT软件开发-基于FFMPEG设计视频播放器-CPU软解视频(一) https://xiaolong.blog.csdn.net/article/details/126832537 QT软件开发-基于 ...

  4. QT软件开发-基于FFMPEG设计视频播放器-GPU硬解、OpenGL渲染(四)

    QT软件开发-基于FFMPEG设计视频播放器-CPU软解视频(一) https://xiaolong.blog.csdn.net/article/details/126832537 QT软件开发-基于 ...

  5. FFmpeg开发(四)——Qt实现一个视频播放器(参考了暴风影音、迅雷影音)

    FFmpeg开发(四)--Qt实现一个视频播放器(参考了暴风影音.迅雷影音) 本系列文章目录: FFmpeg开发(一)一Qt Creator配置FFmpeg FFmpeg开发(二)--(FFmpeg基 ...

  6. 嵌入式Qt 开发一个视频播放器

    上篇文章:嵌入式 Qt开发一个音乐播放器,使用Qt制作了一个音乐播放器,并在OK3568开发板上进行了运行测试,实际测试效果还不错. 本篇继续来实现一个Qt视频播放器软件,可以实现视频列表的显示与选择 ...

  7. 【Qt学习】 设计视频播放器之界面美化

    目录 一:效果展示 二:源码分享 一:效果展示 开机动画效果 在开机动画后,跳转至登录界面 点击注册按钮,可进入注册界面 登录成功后 进入到视频播放器界面 [初始化默认显示image目录下的所有.pn ...

  8. 基于Phonon+QT的音视频播放器设计与实现

    目 录 摘 要 2 第一章 软件需求说明书 1 1.1 引言 1 1.2 业务流程整体说明 1 第二章 需求分析报告 3 2.1 引言 3 2.2 任务概述 3 2.3 功能需求 3 2.4 性能需求 ...

  9. Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)

    目录 1.界面组件 1.1.布局组件(Layouts) 1.2.分隔组件(Spacers) 1.3.按钮组件(Buttons) 1.4.表项视图(Item Views) 1.5.表项组件(Item W ...

最新文章

  1. python3入门教程-Python3 入门教程 简单但比较不错
  2. OpenCV系列(三):Mat详解
  3. register_chrdev_region源码理解
  4. pd 生成mysql语句_PDMan + Navicat Premium + MySQL 数据库设计和工具
  5. feign和ajax,SpringCloud-feign 声明式服务调用
  6. python3中文教程_Python视频教程:Python3入门+进阶让你快速掌握Python3
  7. 三部委明确能源互联网建设10重点
  8. php swoole扩展,php如何安装swoole扩展
  9. DW Basic Knowledge1
  10. v$session.sql_id为NULL或不准确的BUG
  11. 四旋翼无人机飞控系统设计(输出分配)
  12. 晶体晶振小结(XTAL与TCXO/VCXO/VC-OCXO等)-持续更新
  13. 通过java解析域名获得IP地址
  14. 适配器模式 个人理解+JAVA 小例子
  15. 一周热图|陈飞宇成天梭表形象代言人;朱一龙赵丽颖登陆欧舒丹星球;张信哲代言欧宝娱乐...
  16. 分享一款好用的微信相册小程序《群相册大师》
  17. redis放入对象的几种方式
  18. 计算机论文致谢词范文500字,2021年论文致谢词范文500字(通用5篇)
  19. Odoo与浪潮合资研发PS Cloud之在Odoo发送和接收电子邮件
  20. python从文件中读数据并进行排序

热门文章

  1. 备忘录保存为长图的方法
  2. IOS AppStore提交流程
  3. kali工具fping的简单使用之扫描IP
  4. java求因数_java求质因数
  5. 白话空间统计之二十五:空间权重矩阵(一)点数据的空间关系(1)
  6. kubectl查看node状态_K8S故障排除方法 - 笃行之 - 博客园
  7. yy直播接口开发手册php,微信小程序 服务端接口·直播间接口
  8. 微星小飞机没有osd显示怎么办?
  9. 1wifi 简介(框架)2系统启动后的 wifi加载 过程-图解 3系统启动后的 wifi 加载过程
  10. U盘病毒Global.exe专杀