正常颜色 ui->pushButton->setStyleSheet(""); QPushButton { color: #00B0AE; background-color:#FFFFFF; font: 9pt
示例样式: ui->horizontalSlider->setStyleSheet(""); /*滑块的样式*/ QSlider::groove:horizontal { border: 1px solid #00B0AE; background: #00B0AE; height: 2px; border-radius: 1px; padding-left:0px; padding-right:0px; } /*滑块经过的颜色:前面的颜色*/ QSlider::sub-page:horizontal {
4)Qt::WindowTitleHint:显示窗口标题栏。 5)Qt::WindowSystemMenuHint:显示系统菜单。 8)Qt::WindowMinMaxbuttonHint:显示最小化按钮和最大化按钮。 9)Qt::WindowCloseButtonHint:显示关闭按钮。 3)Qt::WindowMaxmized:最大化状态。 4)Qt::WindowFullScreen:全屏状态。 1)Qt::NoButton:无键。 2)Qt::LeftButton:左键。 3)Qt::RightButton:右键。 1)Qt::Horizontal:横向。 2)Qt::Vertical:纵向。
是可以响应本窗口的事件 setAttribute(Qt::WA_TransparentForMouseEvents, true); //隐藏标题栏 setWindowFlags (Qt::FramelessWindowHint);//无边框 //打开的窗口在屏幕中间 QDesktopWidget *widget= QApplication::desktop() 并且隐藏任务栏的图标 Qt::WindowFlags m_flags = windowFlags(); setWindowFlags(m_flags| Qt::FramelessWindowHint |Qt::WindowStaysOnTopHint|Qt::WindowStaysOnTopHint|Qt::Tool); //设置窗口背景透明 setAttribute(Qt::WA_TranslucentBackground ::SolidLine); //线的样式--实线 p.setPen(pen); pen.setWidth(5); pen.setStyle(Qt::DashDotLine);
QJsonDocument是一个封装完整JSON文档的类,可以从UTF-8编码的基于文本的表示以及Qt自己的二进制格式读取和写入此文档。 解析器非常快速高效,可以将JSON转换为Qt使用的二进制表示形式。 已解析文档的有效性可以使用! has_b_frames": 1, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "16:9" 代码如下: /* 工程: ASS_SubtitleVideoPlayer 日期: 2021-09-07 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 获取视频尺寸 /* 日期: 2021-08-13 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 网络请求返回的结果 */ void Widget::slot_request_videoID_replyFinished
: QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //隐藏标题栏 setWindowFlags(Qt ::FramelessWindowHint);//无边框 置顶 //设置窗口背景透明 setAttribute(Qt::WA_TranslucentBackground); 绘制样式 QBitmap bmp(this->size()); bmp.fill(); QPainter painter(&bmp); painter.setPen(Qt ::NoPen); painter.setBrush(Qt::black); painter.setRenderHint(QPainter::Antialiasing); painter.drawRoundedRect
pen); item->SetFrameColor(text_color); } } 强制转换类型时要使用static_cast语法,常规C语言的强转语法QT
一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式,每次最新的数据插入到最后,并且每次显示也是最新一行。
Qt提供的可复用的标准对话框,全部继承自QDialog类,如下图所示: QMessageBox:信息对话框,用于显示信息、询问问题等; QFileDialog:文件对话框 QColorDialog:颜色对话框 QColor::isValid(); //颜色有效返回true,无效则返回false 示例: QColorDialog dlg; dlg.setCurrentColor(Qt qDebug()<<color.blue(); } 也可以使用一个静态函数直接打开颜色对话框: static QColor getColor( const QColor &initial = Qt white, //预定义颜色 QWidget *parent = 0); //父组件 示例: QColor color= QColorDialog::getColor(Qt & labelText, const QString & cancelButtonText, int minimum, int maximum, QWidget * parent = 0, Qt
头文件: #include <QDesktopWidget> 代码: Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); ......略....... QDesktopWidget *widget= QApplication::desktop(); move((widget->width()-this->width())/
欢迎学习烛照QT机器视觉软件开发教程,本文为课程附属文档,完整视频教程见文末网站链接。 上一篇中我们项目准备好了,接下来开始写代码。写代码之前肯定是先规划我们项目结构和源码如何管理。 我们将前端软件界面和后端算法进行分离解耦,也就是如下结构: 1、烛照工程管理结构 前端软件界面我们使用QT/C++编写,工程管理就直接使用QT自带的qmake,也就是pro文件管理。 2、创建前端工程 虽然是手把手教程,但创建QT工程应该都会吧,如果第一次使用QT,可以先参照本教程附录内容将QT安装好。 3、前端QMake内容解析 QMake是QT自带的工程管理语法,其文件为pro工程文件,我们看烛照的pro工程文件如下: #添加依赖的QT,主要包含core gui widgets QT + = core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #声明C++语言规范版本 CONFIG += c++11 DEFINES += QT_DEPRECATED_WARNINGS
前言 在QT for Windows 下编程时,经常因为一些中文路径、带空格的路径导致一些问题出现。 目录无法打开、文件无法打开、程序无法调用等等。下面记录一些出现问题的场景,并提供一些解决办法。 在Qt里调用_chdir函数切换当前工作目录时,如果目录有空格或者中文会导致路径切换失败。 /path/to/Qt/examples/widgets/analogclock"; QStringList arguments; arguments << "-style" <
一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 编译器: MinGW32 FFMPEG: 4.2.2 二、软件效果 三、核心代码 3.1 widget.cpp #include Widget::~Widget() { delete ui; } /* 工程: GetMediaInformation 日期: 2021-07-23 作者: DS小龙哥 环境: win10 QT5.12.6 选择文件的绝对路径 LoadName(filename); } /* 工程: GetMediaInformation 日期: 2021-07-23 作者: DS小龙哥 环境: win10 QT5.12.6 plainTextEdit->insertPlainText(json); } } /* 工程: GetMediaInformation 日期: 2021-07-23 作者: DS小龙哥 环境: win10 QT5.12.6 namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public
需求: QGraphicsView 编辑完成之后,需要将界面保存为图片导出. QPixmap pix=ui->graphicsView->grab(); 展示代码示例: #include <QDialog> #include <QLabel> void MainWindow::on_pushButton_clicked() { QPixmap pix=ui->graphicsView->grab(); QDialog *dialog=new QDialog; dialog-
一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 QtAV版本: QtAV-1.12.0 FFMPEG版本: ffmpeg 3.1 使用的是 支持画面拍照、截图 9. 支持复位到视频首页 10. 支持音量调整 11. 支持拖拽文件到窗口播放 12. 默认打开视频不会自动播放。 自动显示在第一帧,视频放完停留在最后一帧。 13. } Widget::~Widget() { delete ui; } /* 工程: ECRS_VideoPlayer 日期: 2021-02-23 作者: DS小龙哥 环境: win10 QT5.12.6 m_player->isPaused()); } /* 工程: ECRS_VideoPlayer 日期: 2021-02-23 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 ::FramelessWindowHint|Qt::WindowStaysOnTopHint); m_preview->resize(ui->widget_videoDisplay->width
一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 libvlc版本: 3.0.12 完整工程下载地址(下载即可编译运行): VLC_Core_VideoPlayer.zip-QT 暂停与继续切换 9. 单帧切换、前一帧、后一帧 10. 流媒体播放,输入流媒体链接 11. 进度条显示,支持鼠标点击任意跳转到点击位置 12. 播放时间实时更新显示 其他功能可自己增加..... VLC_InitConfig(void) { const char *tempArg = ""; // tempArg = "--demux=h264"; const char *vlc_args[9] if(QFileInfo::exists(media_filename)==false) { if(media_filename.contains("rtsp:", Qt ::CaseInsensitive)==false&& media_filename.contains("rtmp:", Qt::CaseInsensitive)==false)
一、环境介绍 Qt: 5.12.6 操作系统: win10 (64位) 编译器: mingw 32 二、功能介绍 使用代码一键打开系统默认浏览器,使用百度搜索想要内容,也可以打开百度翻译自动翻译内容
需求: 需要将QImage加载的图片里指定的颜色值替换成另一种指定的颜色。 示例代码: QImage image; QString filename=QFileDialog::getOpenFileName(this,"选择打开的文件","C:/",tr("*.bmp *.jpg *.png")); //filename==选择文件的绝对路径 //加载图片 image.load(filename); int w,h; //得到图片的宽高 w
has_b_frames": 0, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "16:9" namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public process->start(ui->lineEdit_start->text()); } /* 工程: untitled1 日期: 2021-07-28 作者: DS小龙哥 环境: win10 QT5.12.6
上一篇文章写道直接将视频流保存裸流到文件,尽管裸流文件有一定的好处,但是 毕竟大部分用户需要的不是裸流而是MP4视频文件,所以需要将视频流保存成MP4文件,毕竟电脑上的播放器包括默认的播放器,可以直接播放MP4文件,而未必能播放裸流文件,裸流文件需要安装K-Lite解码器才行,关于ffmpeg解码保存成MP4文件,有两种处理方式,一种是先保存成裸流,然后开个后台线程,当裸流文件保存完成以后,自动触发H264转MP4的命令执行,也可以很快的完成转换,另外一种方法就是直接解码的时候保存成MP4文件,两种方法都可以,一般建议后者。