一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、添加快捷注释 /* 工程: %{CurrentProject:Name} 日期: %{CurrentDate:yyyy-MM-dd } 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: */
一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 示例工程下载链接: https://download.csdn.net/ download/xiaolong1126626497/14919797 二、创建COM组件 为了方便测试,我这里使用QT来创建COM组件,再由QT自己调用。 QT创建COM的方法看这里: (1)VS2017下使用QT生成COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/112556866 += core gui QT += axcontainer greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
执行可执行文件,报错 查看文件类型 这不是ARM上运行的执行文件,编译链有问题 修改qmake生成的makefile 更新嵌入式设备的文件 不过上面的解决方案不是很好,在QT编译一次,或者重新生成一次 ,都要单独处理一方的交叉编译环境 有个更简单的处理方案 给QT设置两个编译方式 1.compilers 2.qt versions 3.kits 4.project kit 5.演示arm-linux-gcc 编译 6.演示x86/64编译 同时会生成桌面应用
QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。 使用QList::append和QList::prepend在列表的两端进行添加项目。 使用QList::insert()在列表的中间插入项目。 实例:
一、QT程序发布方式 Qt 发布的时候,通常使用两种方式: (1)静态编译 (2)动态编译 静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序本身较大。 二、动态打包发布 2.1 打包工具 在QT5以后的版本中,Qt 的编译器安装包里自带了一个打包工具: windeployqt.exe windeployqt 工具可以自动复制插件文件夹和 dll 文件、 ,可以得到完整的 exe 程序发布集合,解决所有的依赖关系,不用手动去一个一个复制(QT4程序发布就需要自己手打复制,比较麻烦)。 2.2 准备工作 1. 需要一个完整正常编译的 QT 工程。 2. 比如: MINGW 编译器: C:\app_setup\for_QtQt5.5.1\5.5\mingw492_32\bin\windeployqt.exe VS 编译器: D:\Qt\Qt5.5.0\5.5 第二步: 按下键盘上的windows按钮,打开窗口列表,找到QT安装的位置(按字母排序的Q),选择当前QT程序编译时使用的编译器,打开命令行终端。 第三步: 切换到QT程序存放的目录下。
一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 二、创建COM组件 为了方便测试,我这里使用QT来创建COM组件,再由QT QT创建COM的方法看这里: (1) VS2017下使用QT生成COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/ https://blog.csdn.net/xiaolong1126626497/article/details/112550412 本次文章是接着上一篇文章写的,创建的COM组件可以参考上一篇文章: QT 应用编程: windows下QT调用COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/112978956 三、QtCreate 里创建工程调用COM组件完成界面开发 上一篇文章里介绍了在QtCreate里使用QAxObject调用COM组件,并完成函数接口调用;如果调用的COM组件是带界面的程序,并需要集成到当前QT程序中,就需要使用
概述 在Qt中,事件都是从抽象类QEvent派生出来的对象。它们表示发生在应用程序内部或由于应用程序需要了解的外部活动而发生的事情。 本文档介绍了在典型应用程序中如何传递和处理事件。 2. 事件如何传递 当事件发生时,Qt通过构造适当的QEvent子类的实例来创建一个事件对象来表示它,并通过调用事件函数将其传递到QObject的特定实例(或其子类之一)。 一些,例如QTimerEvent ,来自其他来源;有些来自应用程序本身,如自定义事件等。 3. 小结 Qt的主函数中会开启一个事件循环,其实就是一个处理事件的while循环。 return a.exec(); 二、应用举例 1.
{ ui->setupUi(this); // 初始化tableView表头 model->setColumnCount(3); model->setHeaderData(0,Qt (2,Qt::Horizontal,QString("年龄")); ui->tableView->setModel(model); ui->tableView->horizontalHeader ()->setDefaultAlignment(Qt::AlignLeft); // 表头居左显示 //设置列宽 ui->tableView->setColumnWidth(0,101); setForeground(QBrush(QColor(255, 0, 0))); //设置字符位置 model->item(i,0)->setTextAlignment(Qt 添加之前,先判断Uname是否存在于TableWidget中,如果存在返回0不存在返回1 bool isEmpty = ui->tableWidget->findItems(Uname,Qt
QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承QThread这个基类,并重写实现内部的Run方法,由于该库是基本库,默认依赖于QtCore.dll这个基础模块,在使用时无需引入其他模块
QtCharts 组件是QT中提供图表绘制的模块,该模块可以方便的绘制常规图形,Qtcharts 组件基于GraphicsView模式实现,其核心是QChartView和QChart的二次封装版。 在使用绘图模块时需要在pro文件中包含QT += charts来引入绘图类库。 然后还需在头文件中定义QT_CHARTS_USE_NAMESPACE宏,这样才可以正常的使用绘图功能。 #include <QMainWindow> #include <QtCharts> QT_CHARTS_USE_NAMESPACE // 解决MSVC编译时,界面汉字乱码的问题 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8") #endif 由于QT中不存在单独的绘图画布,因此在绘图前我们需要在窗体中放入一个graphicsView ->setAxisX(axis, series); chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt
一、功能介绍 运行环境:Windows10 64位 QT通过QAudioInput类读取声卡PCM数据,在封装WAV头,转为WAV格式的文件保存到本地。 可以选择指定的声卡录制、播放音频。 define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QUdpSocket> #include <QAudio> //这五个是QT QAudioInput> #include <QAudioOutput> #include <QIODevice> #include <QFile> #include <QTimer> #include <QDir> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT /设置保存文件的路径 #define SAVE_FILE_PATH "test.pcm" #define SAVE_WAV_FILE_PATH "test.wav" #endif /* * 设置QT
上次和大家分享了Qt Model/View只读表的方法,简单回顾下: 因为是为一个Table设置Model,为了快速入门,我们选择继承QAbstractTableModel。 这次和大家分享Qt Model/View教程的几个其他例子。 一、 使用Roles属性扩展只读Table 怎么扩展?扩展些什么? 无需更改其他任何内容即可设置字体,背景色,对齐方式和复选框等属性,其他属性可请参阅Qt名称空间文档以了解有关Qt :: ItemDataRole枚举功能的更多信息。 这里面值得注意的是调用data()函数的频率,具体可打印效果进行查看,一次可以判断使用分离的模型如何影响应用程序的性能。还有就是当鼠标悬浮在Cell时,都会对data()进行调用。 小结:本次主要和大家分享一下data()函数中其他属性的应用以及如何通过信号更新Cell数据。下次和大家分享下在Model中如何设置行列标题以及如何设置Table的可编辑属性。 学不可以已,积少成多!
教程概述 本教程将手把手教你使用 Qt QML 在 HarmonyOS PC 平台上开发一个功能完整、界面精美的时钟应用。从零开始,逐步实现实时时钟显示、日期显示、12/24 小时制切换等功能。 for OpenHarmony SDK HarmonyOS 模拟器或真机 鸿蒙 PC:支持 aarch64 架构(可选) 平台支持 本教程开发的应用支持多平台运行: ✅ HarmonyOS 手机 ✅ 鸿蒙" Rectangle { anchors.fill: parent color: "#2C5364" } } 代码说明: Window:创建应用窗口 width/height:设置窗口尺寸 Rectangle:填充整个窗口作为背景 1.2 运行验证 此时运行应用,应该看到一个纯色背景的窗口。 && event.modifiers & Qt.ControlModifier) { // Ctrl+Q:退出应用 Qt.quit()
如果应用程序包含多个动态库或资源文件,打包和分发过程可能会非常复杂。解决方案:应用签名:使用 codesign 工具对Qt应用进行签名,确保应用符合苹果的安全要求。 使用 macdeployqt:Qt提供了 macdeployqt 工具,可以自动处理Qt应用程序的打包、签名和依赖库的包含。使用此工具可以简化应用打包过程,确保所有必要的动态库和插件都被正确打包。 解决方案:Qt版本与macOS的兼容性:定期检查并更新Qt到最新版本,以确保你的应用能够兼容最新的macOS版本。 性能优化难点:Qt应用的性能瓶颈:macOS上的图形渲染和应用性能可能受到一些因素的影响,如大量的UI组件、复杂的绘制操作或不优化的Qt控件。 总结在macOS上使用Qt开发应用时,面临的技术难点主要集中在平台特性、系统权限、UI外观、应用打包和分发等方面。
QtCharts 组件是QT中提供图表绘制的模块,该模块可以方便的绘制常规图形,Qtcharts 组件基于GraphicsView模式实现,其核心是QChartView和QChart的二次封装版。 在使用绘图模块时需要在pro文件中包含QT += charts来引入绘图类库。图片然后还需在头文件中定义QT_CHARTS_USE_NAMESPACE宏,这样才可以正常的使用绘图功能。 #include <QMainWindow>#include <QtCharts>QT_CHARTS_USE_NAMESPACE// 解决MSVC编译时,界面汉字乱码的问题#if _MSC_VER >= 1600#pragma execution_character_set("utf-8")#endif由于QT中不存在单独的绘图画布,因此在绘图前我们需要在窗体中放入一个graphicsView组件。 chart->setAxisX(axis, series); chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt
QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承QThread这个基类,并重写实现内部的Run方法,由于该库是基本库,默认依赖于QtCore.dll这个基础模块,在使用时无需引入其他模块
一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 串口调试助手,在嵌入式开发中是很常用的。 效果图 三、核心代码 3.1 widget.cpp #include "uart_mainwindow.h" #include "ui_uart_mainwindow.h" /* * 设置QT
一、环境介绍 操作系统: win7 64位 家庭版 QT版本: 4.8.5 (qt-win-opensource-4.8.5-vs2010.exe) VS版本: 2010 因为最近用到的项目源代码在 二、相关软件包下载地址 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在VS里的插件: qt-win-opensource-4.8.5-vs2010.exe 安装完1,2两个步骤之后,先打开QTCreate配置编译器,选择VS2010的编译器,会自动识别,再创建一个程序编译运行测试一下环境 QT环境没有问题之后,将剩下的软件全部安装完,再打开VS2010,如果QT插件安装成功,在VS2010的工具栏会出现QT的选项。 点击新建项目,可以选择创建QT4的工程。
ui->setupUi(this); // 初始化tableView表头 model->setColumnCount(3); model->setHeaderData(0,Qt (2,Qt::Horizontal,QString("年龄")); ui->tableView->setModel(model); ui->tableView->horizontalHeader ()->setDefaultAlignment(Qt::AlignLeft); // 表头居左显示 //设置列宽 ui->tableView->setColumnWidth(0,101 setForeground(QBrush(QColor(255, 0, 0))); //设置字符位置 model->item(i,0)->setTextAlignment(Qt 添加之前,先判断Uname是否存在于TableWidget中,如果存在返回0不存在返回1 bool isEmpty = ui->tableWidget->findItems(Uname,Qt
Qt提供了QtActiveX模块来支持微软ActiveX的开发,Qt的ActiveX和COM的开发支持两种方式: 1. 支持将已有的COM或者ActiveX空间引入到Qt的应用程序中。 2. 支持将Qt应用程序或者Qt的对象导出成COM对象或者ActiveX控件供他人使用。 二、相关软件包下载地址 2.1 QT安装包下载 下载地址: http://download.qt.io/archive/qt/5.12/5.12.6/ 2.2 VS2017社区版下载 微软官网下载地址 安装完毕之后,再重新打开VS2017,成功就会在菜单栏出现Qt VS Tools 选择。 点击 Qt VS Tools 配置QT的版本。 : 2.4 安装QT5.12.6 2.5 使用VS2017新建QT工程 解决方法: 点击系统最下角的windows图标,弹出菜单,通过首字母,找到QT的安装列表;选择Qt for