一、设置圆角、鼠标按下、停留、正常颜色 ui->pushButton->setStyleSheet(""); QPushButton { color: #00B0AE; background-color:#FFFFFF; font: 9pt "黑体"; border:1px groove #00B0AE;border-radius:10px; } /*按钮停留态*/ QPushButton:hover { /*背景颜色*/ background-color: rgba(235, 235, 23
示例样式: 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 {
c++11中lambda表达式用于定义并创建匿名的函数对象 lambda表达式的基本构成:
是可以响应本窗口的事件 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使用的二进制表示形式。 已解析文档的有效性可以使用! 代码如下: /* 工程: 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对象之间可以存在父子关系 继承于QObject类或者其子类的对象,都称为Qt对象 当指定Qt对象的父对象时 需要通过setParent()成员函数来设置对象间的父子关系 子对象将会把自己的指针地址保存在父对象的 当Qt对象被销毁时 将自己的地址从父对象的链表children List里移除 将自己的子对象链表children List中的所有子对象摧毁(delete掉) 所以, delete某个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 使用的是 支持预览画面(鼠标放在进度条上查看画面缩略图) 7. 支持单帧播放,就是一帧一帧的点击切换画面 8. 支持画面拍照、截图 9. 支持复位到视频首页 10. 支持音量调整 11. } 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 点击按钮加载文件、鼠标拖拽文件进行播放 7. 重播按钮支持 8. 暂停与继续切换 9. 单帧切换、前一帧、后一帧 10. 流媒体播放,输入流媒体链接 11. if(QFileInfo::exists(media_filename)==false) { if(media_filename.contains("rtsp:", Qt ::CaseInsensitive)==false&& media_filename.contains("rtmp:", Qt::CaseInsensitive)==false) 功能: 按键事件 */ void Widget::keyPressEvent(QKeyEvent *event) { switch(event->key()) { case Qt
一、环境介绍 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
对于那些了解软件开发行业的复杂性和动态性质的人来说,这并不令人震惊。 为了在这个不断创新和进步的变幻莫测的行业中生存,必须与时俱进。精明的业务人员不仅可以利用软件开发服务,还可以权衡每种技术的利弊。 一些具有前瞻性的软件开发人员已引入这些技术来满足客户的需求。您会因为在软件开发项目中使用趋势技术而感到兴奋吗? 让我们看一下 2020 年的软件开发趋势。 趋势#7 外包软件开发 近年来,软件行业中的远程人员配置已变得非常流行。预计在 2019-2023 年间,IT 外包市场将以 4.42% 的复合年增长率蓬勃发展。 雇用 IT 外包公司是为了向公司提供卓越的软件开发服务。 总结 预计来年,软件开发行业将通过这些趋势技术而有很大的变革。AI 和 AR/VR 等技术的不断进步是该行业变化性质的主要原因。 如果您渴望赢得这场比赛,那么请雇用可以为您铺路的软件开发人员。
一、环境介绍 操作系统: win7 64位 家庭版 QT版本: 4.8.5 (qt-win-opensource-4.8.5-vs2010.exe) VS版本: 2010 因为最近用到的项目源代码在 QT4.8.5+VS2010环境下开发的,为了方便测试调试代码运行效果;便使用VM虚拟机安装了win7系统,搭建开发环境。 二、相关软件包下载地址 2.1 QT库下载地址 下载地址: http://download.qt.io/archive/qt/4.8/4.8.5/ CSND下载地址: https://download.csdn.net QT4.8.5库 : qt-win-opensource-4.8.5-vs2010.exe 2. QT环境没有问题之后,将剩下的软件全部安装完,再打开VS2010,如果QT插件安装成功,在VS2010的工具栏会出现QT的选项。 点击新建项目,可以选择创建QT4的工程。