随笔分类 - Qt
摘要:Qt+ffmpeg环境搭建 各平台常见视频开发库举例: iOS:AVFoundation AudioUnit Android:MediaPlayer,MediaCodec Windows:DirectShow Linux:GStreamer FFmpeg 库是一个跨平台的视频开发库, 还有 libV
阅读全文
摘要:Qt Creator + MSVC2017编译器配置指南 下载和安装MSVC2017编译器 下载 下载MSVC编译器安装工具: https://docs.microsoft.com/zh-tw/previous-versions/visualstudio/visual-studio-2017/ins
阅读全文
摘要:一. vscode+nodejs+npm安装 二. nodejs服务器开启 打开vscode - 终端 - 新建终端 进入json_server目录 cd D:\json_server 运行启动命令, 启动json-server服务器 npm run json:server 效果如下: PS D:\
阅读全文
摘要:相关类简介 Qt和Model/View模式相关的类比较多, 但一般存在继承关系, 按model(模型), view(视图), delegate(委托)划分为如下几种: 类型 类名 简介 父类 model QAbstractItemModel (抽象类)常用的Model的基类 QObject QSta
阅读全文
摘要:简介 继承自 QFrame 构造 创建竖排分割窗口(一列多行) QSplitter *splitterVertical = new QSplitter(Qt::Vertical, nullptr); 创建横排分割窗口(一行多列) QSplitter *splitterHorizontal = new
阅读全文
摘要:原Qt4上接口代码如下: void QTcpServer::incomingConnection(int socketDescriptor) 移植到Qt5后, BUG现象就是, 用MinGW32位编译出来的程序, QTcpServer工作正常, 但用MinGW64位编译出来的程序, 客户端连接不上服
阅读全文
摘要:如何正确使用 QThread 一小段历史 很久以前, 继承QThread并重新实现它的run()函数是QThread多线程唯一推荐方法. 它很直观和易用, 但是在工作线程中使用信号槽机制以及Qt事件循环时, 用户常常使用错误. 因此Qt核心开发人员Bradley T. Hughes推荐使用QObje
阅读全文
摘要:Ubuntu Qt无法使用搜狗输入法 拷贝fcitx插件库到QtCreator的插件目录库下. sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin
阅读全文
摘要:基于QtQuick(QML)的QuickFlux架构简介 简介 QuickFlux架构是一个QtQuick架构, 是Facebook Flux架构的QML实现. 它可以有效的帮你前后端解耦, 流式处理前端数据变化及界面交互等, 使代码结构更清晰. 随着项目的扩大, 你的前端数据, 可能散落在各个小的
阅读全文
摘要:C++共享枚举类型给QML 由于Qt5.10之前的版本不支持枚举类型, 所以我们采用了在C++中实现一个类, 注册到QML中的方式, 来使C++中的枚举类型共享给QML 示例说明: 示例枚举为1~12月, 接受到对应的枚举, 在界面中显示对应中文. 在C++中创建类 前提(和信号槽的前提一样): 从
阅读全文
摘要:最近Qt项目需要使用zip格式压缩和解压, 因此需要编译下Quazip动态库. 1. 下载 (Qt5不需要)zlib源码下载地址:http://www.zlib.net/ Quazip源码下载地址:https://sourceforge.net/projects/quazip 2. 编译zlib库(
阅读全文
摘要:添加QMainWindow自带的标准菜单栏和菜单 常用标准菜单代码: //添加菜单栏 QMenuBar *menuBar; menuBar = new QMenuBar(this); this->setMenuBar(menuBar); //给菜单栏添加标准文件菜单 QMenu *menuFile;
阅读全文
摘要:这个错误一般是屏幕位深参数不正确导致的, 修改屏幕对应的fb参数即可(16/24/32等) echo 16 > /sys/class/graphics/fb0/bits_per_pixel # 这里我的屏幕对应的是fb0 如果是屏和fb不对应, 也可以调整Qt对应的fb: export QT_QPA
阅读全文
摘要:目标: 使用Qt Model/View的思想实现一个幻灯片播放列表编辑器. 有上移, 下移, 添加, 删除, 保存等功能. 效果如下图所示: Model(XmlModel)继承自 QAbstractTableModel, 根据需要实现对应的接口. 主要代码如下: xmlmodel.h #ifndef
阅读全文
摘要:这里要查询一个一个Repeater中嵌套的一个Repeater的Image中的图片是什么. 从而进行属性操作. 要注意的就是普通控件获取children后, 用[]下标即可操作子元素, Repeater要用itemAt函数操作子元素. for(var i = 0; i < items; ++i) {
阅读全文
摘要:间接连接(Connecting Indirectly) 间接连接允许我们在运行时更改Connections的target. 使用QML时, 有时需要在运行时, 监控不同的对象的信号. 可采用以下方法动态更改Connections的target属性实现. 代码如下 Rectangle { id: co
阅读全文
摘要:QJsonObject和QString的互相转化函数 JsonObj to String QString jsonObj2String(const QJsonObject& json) const { return QString(QJsonDocument(json).toJson(QJsonDo
阅读全文
摘要:Qt Quick布局(Qt Quick Layouts)概述 Qt Quick Layouts是用于在用户界面中排列Items的, 它们本身也是Items。 由于Qt Quick Layouts也可以调整其本身的大小,因此非常适合可调整大小的用户界面. 首先 使用import语句将QML类型导入到您
阅读全文
摘要:实战场景 公司一个老项目, 客户反映程序有偶发性的界面错乱并卡死, 检查代码, 发现有两个网络线程同时在调用刷新界面的接口(且该UI接口是直接刷新, 没有缓冲机制). 这可是操作UI的大忌. 老项目的UI框架就不折腾了, 就把这里加个生产者消费者模型吧: 采用QWaitCondition和QMute
阅读全文
摘要:QML语法初见 锚定 left 左 right 右 top 顶部 bottom 底部 centerIn 中央 fill 填充满 verticalCenter 垂直中央 horizontalCenter 水平中央 anchors.left: parent //放在父对象左边 rotation 旋转(瞬
阅读全文