更新代码

master
feiyangqingyun 2020-10-29 08:43:51 +08:00
parent 8289db89ce
commit a6ae810eea
10 changed files with 111 additions and 12 deletions

View File

@ -2533,16 +2533,24 @@ void QUIHelper::runWithSystem(const QString &strName, const QString &strPath, bo
#endif #endif
} }
QString QUIHelper::getIP(const QString &url)
{
//取出IP地址
QRegExp regExp("((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))");
regExp.indexIn(url);
return url.mid(url.indexOf(regExp), regExp.matchedLength());
}
bool QUIHelper::isIP(const QString &ip) bool QUIHelper::isIP(const QString &ip)
{ {
QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"); QRegExp regExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
return RegExp.exactMatch(ip); return regExp.exactMatch(ip);
} }
bool QUIHelper::isMac(const QString &mac) bool QUIHelper::isMac(const QString &mac)
{ {
QRegExp RegExp("^[A-F0-9]{2}(-[A-F0-9]{2}){5}$"); QRegExp regExp("^[A-F0-9]{2}(-[A-F0-9]{2}){5}$");
return RegExp.exactMatch(mac); return regExp.exactMatch(mac);
} }
bool QUIHelper::isTel(const QString &tel) bool QUIHelper::isTel(const QString &tel)
@ -3503,6 +3511,10 @@ bool QUIHelper::isWebOk()
void QUIHelper::initTableView(QTableView *tableView, int rowHeight, bool headVisible, bool edit) void QUIHelper::initTableView(QTableView *tableView, int rowHeight, bool headVisible, bool edit)
{ {
//取消自动换行
tableView->setWordWrap(false);
//超出文本不显示省略号
tableView->setTextElideMode(Qt::ElideNone);
//奇数偶数行颜色交替 //奇数偶数行颜色交替
tableView->setAlternatingRowColors(false); tableView->setAlternatingRowColors(false);
//垂直表头是否可见 //垂直表头是否可见

View File

@ -642,6 +642,8 @@ public:
//设置开机自启动 //设置开机自启动
static void runWithSystem(const QString &strName, const QString &strPath, bool autoRun = true); static void runWithSystem(const QString &strName, const QString &strPath, bool autoRun = true);
//从字符串获取IP地址
static QString getIP(const QString &url);
//判断是否是IP地址 //判断是否是IP地址
static bool isIP(const QString &ip); static bool isIP(const QString &ip);
//判断是否是MAC地址 //判断是否是MAC地址
@ -651,7 +653,6 @@ public:
//判断是否是合法的邮箱地址 //判断是否是合法的邮箱地址
static bool isEmail(const QString &email); static bool isEmail(const QString &email);
//16进制字符串转10进制 //16进制字符串转10进制
static int strHexToDecimal(const QString &strHex); static int strHexToDecimal(const QString &strHex);
//10进制字符串转10进制 //10进制字符串转10进制

View File

@ -2,6 +2,7 @@
#include "qapplication.h" #include "qapplication.h"
#include "qtextcodec.h" #include "qtextcodec.h"
#include "qsqldatabase.h" #include "qsqldatabase.h"
#include "qsqlquery.h"
#include "qdebug.h" #include "qdebug.h"
int main(int argc, char *argv[]) int main(int argc, char *argv[])

View File

@ -3,7 +3,7 @@ HEADERS += $$PWD/ffmpeg.h
SOURCES += $$PWD/ffmpeg.cpp SOURCES += $$PWD/ffmpeg.cpp
#如果用的是ffmpeg4内核请将ffmpeg3改成ffmpeg4,两种内核不兼容,头文件也不一样 #如果用的是ffmpeg4内核请将ffmpeg3改成ffmpeg4,两种内核不兼容,头文件也不一样
DEFINES += ffmpeg3 DEFINES += ffmpeg4
#ffmpeg4则使用ffmpeg4的目录 #ffmpeg4则使用ffmpeg4的目录
contains(DEFINES, ffmpeg4) { contains(DEFINES, ffmpeg4) {
@ -28,13 +28,29 @@ contains(QT_ARCH, arm) {
strInclude = include strInclude = include
} }
!android {
INCLUDEPATH += $$PWD/$$strPath/$$strInclude INCLUDEPATH += $$PWD/$$strPath/$$strInclude
}
win32 { win32 {
LIBS += -L$$PWD/$$strPath/$$strLib/ -lavcodec -lavfilter -lavformat -lswscale -lavutil -lswresample -lavdevice LIBS += -L$$PWD/$$strPath/$$strLib/ -lavcodec -lavfilter -lavformat -lswscale -lavutil -lswresample -lavdevice
} }
#请自行替换 #请自行替换
unix { !android {
unix:!macx {
LIBS += -L$$PWD/linuxlib/ -lavfilter -lavformat -lavdevice -lavcodec -lswscale -lavutil -lswresample -lavdevice -lpthread -lm -lz -lrt -ldl LIBS += -L$$PWD/linuxlib/ -lavfilter -lavformat -lavdevice -lavcodec -lswscale -lavutil -lswresample -lavdevice -lpthread -lm -lz -lrt -ldl
}}
#android系统
android {
INCLUDEPATH += $$PWD/androidlib/include
LIBS += -L$$PWD/androidlib/ -lavcodec -lavfilter -lavformat -lswscale -lavutil -lswresample
#将动态库文件一起打包
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libavcodec.so
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libavfilter.so
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libavformat.so
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libavutil.so
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libswresample.so
ANDROID_EXTRA_LIBS += $$PWD/androidlib/libswscale.so
} }

View File

@ -1,6 +1,7 @@
QT += core gui QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
android {QT += androidextras}
TARGET = ffmpegdemo TARGET = ffmpegdemo
TEMPLATE = app TEMPLATE = app

View File

@ -7,6 +7,9 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
QApplication a(argc, argv); QApplication a(argc, argv);
QFont font; QFont font;

View File

@ -2533,16 +2533,24 @@ void QUIHelper::runWithSystem(const QString &strName, const QString &strPath, bo
#endif #endif
} }
QString QUIHelper::getIP(const QString &url)
{
//取出IP地址
QRegExp regExp("((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))");
regExp.indexIn(url);
return url.mid(url.indexOf(regExp), regExp.matchedLength());
}
bool QUIHelper::isIP(const QString &ip) bool QUIHelper::isIP(const QString &ip)
{ {
QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"); QRegExp regExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
return RegExp.exactMatch(ip); return regExp.exactMatch(ip);
} }
bool QUIHelper::isMac(const QString &mac) bool QUIHelper::isMac(const QString &mac)
{ {
QRegExp RegExp("^[A-F0-9]{2}(-[A-F0-9]{2}){5}$"); QRegExp regExp("^[A-F0-9]{2}(-[A-F0-9]{2}){5}$");
return RegExp.exactMatch(mac); return regExp.exactMatch(mac);
} }
bool QUIHelper::isTel(const QString &tel) bool QUIHelper::isTel(const QString &tel)
@ -3503,6 +3511,10 @@ bool QUIHelper::isWebOk()
void QUIHelper::initTableView(QTableView *tableView, int rowHeight, bool headVisible, bool edit) void QUIHelper::initTableView(QTableView *tableView, int rowHeight, bool headVisible, bool edit)
{ {
//取消自动换行
tableView->setWordWrap(false);
//超出文本不显示省略号
tableView->setTextElideMode(Qt::ElideNone);
//奇数偶数行颜色交替 //奇数偶数行颜色交替
tableView->setAlternatingRowColors(false); tableView->setAlternatingRowColors(false);
//垂直表头是否可见 //垂直表头是否可见

View File

@ -642,6 +642,8 @@ public:
//设置开机自启动 //设置开机自启动
static void runWithSystem(const QString &strName, const QString &strPath, bool autoRun = true); static void runWithSystem(const QString &strName, const QString &strPath, bool autoRun = true);
//从字符串获取IP地址
static QString getIP(const QString &url);
//判断是否是IP地址 //判断是否是IP地址
static bool isIP(const QString &ip); static bool isIP(const QString &ip);
//判断是否是MAC地址 //判断是否是MAC地址
@ -651,7 +653,6 @@ public:
//判断是否是合法的邮箱地址 //判断是否是合法的邮箱地址
static bool isEmail(const QString &email); static bool isEmail(const QString &email);
//16进制字符串转10进制 //16进制字符串转10进制
static int strHexToDecimal(const QString &strHex); static int strHexToDecimal(const QString &strHex);
//10进制字符串转10进制 //10进制字符串转10进制

View File

@ -553,6 +553,41 @@ void VideoWidget::btnClicked()
emit btnClicked(btn->objectName()); emit btnClicked(btn->objectName());
} }
uint VideoWidget::getLength()
{
return 0;
}
uint VideoWidget::getPosition()
{
return 0;
}
void VideoWidget::setPosition(int position)
{
}
bool VideoWidget::getMute()
{
return false;
}
void VideoWidget::setMute(bool mute)
{
}
int VideoWidget::getVolume()
{
return 0;
}
void VideoWidget::setVolume(int volume)
{
}
void VideoWidget::setInterval(int interval) void VideoWidget::setInterval(int interval)
{ {

View File

@ -222,6 +222,23 @@ signals:
void btnClicked(const QString &objName); void btnClicked(const QString &objName);
public slots: public slots:
//获取长度
uint getLength();
//获取当前播放位置
uint getPosition();
//设置播放位置
void setPosition(int position);
//获取静音状态
bool getMute();
//设置静音
void setMute(bool mute);
//获取音量
int getVolume();
//设置音量
void setVolume(int volume);
//设置显示间隔 //设置显示间隔
void setInterval(int interval); void setInterval(int interval);
//设置休眠时间 //设置休眠时间