一、设置圆角、鼠标按下、停留、正常颜色 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 {
是可以响应本窗口的事件 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 setEdge(QPointF p) { m_edge = p; } //获取类型 ItemType getType() { return m_type; } //c++11 overrides a member function but is not marked 'override' note: overridden virtual function is here c++11
一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式,每次最新的数据插入到最后,并且每次显示也是最新一行。
以下是我这些年来学到的 11 条真理,它们帮助我理解了,要管理软件开发项目这个奇怪的世界,我们的能力是多么的有限。 1估算总是错误的 无论是你花一个小时还是一年的时间来做估算,估算结果都是错误的。 软件开发经理的主要职责之一就是减少团队分心的次数和持续时间。 当软件开发人员不受干扰时,他们有很高的工作效率。当他们被打断时(无论是由于开会还是被人问问题或者其他的什么事情),他们会快速丧失工作效率。 最后,他们坐下来,写下 11 行代码,并将用户故事标记为完成。 他们符合你的“屁股时间”标准吗?不符合。他们是否为一个非常困难的问题想出了一个巧妙的解决方案?是的。 屁股时间证明不了什么。 这本书里面充满了管理软件项目和软件开发人员的智慧。它是永恒的经典之作。 快快找来读一读吧! 11质量是一种认知,而不是缺陷数量 这一点真的让人很难接受。 接受这 11 条真理将有助于解决这一问题。
顾老师新作“带着ChatGPT玩转软件开发”将于今年底明年初出版 1.4 ChatGPT将用户故事进行任务分配 本节使用ChatGPT将冲刺阶段4中的用户故事生成任务,并且估算工作量。
头文件: #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
增加了对Qt4和其他编译器的支持。 主要功能: 可设置要录制屏幕的宽高,支持右下角直接拉动改变. gifWriter) { return; } #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0)) //由于qt4没有RGBA8888
需求: 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 使用的是 支持音量调整 11. 支持拖拽文件到窗口播放 12. 默认打开视频不会自动播放。 自动显示在第一帧,视频放完停留在最后一帧。 13. } Widget::~Widget() { delete ui; } /* 工程: ECRS_VideoPlayer 日期: 2021-02-23 作者: DS小龙哥 环境: win10 QT5.12.6 checkBox_gpu_set->isChecked()) { m_player->setVideoDecoderPriority(QStringList() << "CUDA" << "D3D11 m_player->isPaused()); } /* 工程: ECRS_VideoPlayer 日期: 2021-02-23 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32
一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 libvlc版本: 3.0.12 完整工程下载地址(下载即可编译运行): VLC_Core_VideoPlayer.zip-QT 流媒体播放,输入流媒体链接 11. 进度条显示,支持鼠标点击任意跳转到点击位置 12. 播放时间实时更新显示 其他功能可自己增加..... 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
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 ui->plainTextEdit->insertPlainText(str); } /* 工程: untitled1 日期: 2021-07-28 作者: DS小龙哥 环境: win10 QT5.12.6