首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式项目开发

    QT应用编程: win10+vs2017+QT5.12.6开发环境搭建

    一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 VS版本: 2017 因为最近用到QT的ActiveX模块,需要用到VS编译器,就把电脑的环境重装了一遍。 Qt提供了QtActiveX模块来支持微软ActiveX的开发,Qt的ActiveX和COM的开发支持两种方式: 1. 支持将已有的COM或者ActiveX空间引入到Qt应用程序中。 2. 支持将Qt应用程序或者Qt的对象导出成COM对象或者ActiveX控件供他人使用。 安装完毕之后,再重新打开VS2017,成功就会在菜单栏出现Qt VS Tools 选择。 点击 Qt VS Tools 配置QT的版本。 : 2.4 安装QT5.12.6 2.5 使用VS2017新建QT工程 解决方法: 点击系统最下角的windows图标,弹出菜单,通过首字母,找到QT的安装列表;选择Qt for

    1.8K10编辑于 2022-01-07
  • 来自专栏Qt项目实战

    Qt编写地图综合应用10-点聚合

    一、前言 点聚合在地图相关应用中比较常用,比如在地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症,密密麻麻的一大堆点挤在一起 支持任意Qt版本、任意系统、任意编译器。 个人主页:https://blog.csdn.net/feiyangqingyun 知乎主页:https://www.zhihu.com/people/feiyangqingyun/ 四、效果图 [10

    1.2K30发布于 2020-04-13
  • 来自专栏嵌入式项目开发

    QT应用编程: Qt Creator添加快捷注释

    一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、添加快捷注释 /* 工程: %{CurrentProject:Name} 日期: %{CurrentDate:yyyy-MM-dd } 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: */

    2.6K20编辑于 2022-01-07
  • 来自专栏Linux驱动

    10.QT-定时器

    QObject定时器 需要头文件#include <QTimerEvent>  需要函数 int QObject::startTimer(int interval); //启动定时器,并设置定时器间隔时间(单位ms),启动后返回该定时器ID号. void QObject::timerEvent(QTimerEvent * event); //定时器处理函数,需要用户来重写它,如果有多个定时器,可以通过QTimerEvent::timerId()来判断定时器ID处理 void killTimer(int

    1.9K20发布于 2018-05-28
  • 来自专栏Linux驱动

    10.QT-QAudioOutput类使用

    而在QT中,提供了QMediaPlayer类可以支持解封装,但是该类的解码协议都是基于平台的,如果平台自身无法播放,那么QMediaPlayer也无法播放.有兴趣的朋友可以去试试.

    3.2K20发布于 2020-09-14
  • 来自专栏嵌入式项目开发

    QT应用编程: windows下QT调用COM组件

    一、环境介绍 操作系统: 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

    3.6K10编辑于 2022-01-07
  • 来自专栏Gnep's_Technology_Blog

    本地交叉编译Qt应用

    执行可执行文件,报错 查看文件类型 这不是ARM上运行的执行文件,编译链有问题 修改qmake生成的makefile 更新嵌入式设备的文件 不过上面的解决方案不是很好,在QT编译一次,或者重新生成一次 ,都要单独处理一方的交叉编译环境 有个更简单的处理方案 给QT设置两个编译方式 1.compilers 2.qt versions 3.kits 4.project kit 5.演示arm-linux-gcc 编译 6.演示x86/64编译 同时会生成桌面应用

    <div class="left-message

    43520编辑于 2023-08-10
  • 来自专栏全栈程序员必看

    QT QList介绍及应用

    QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。 使用QList::append和QList::prepend在列表的两端进行添加项目。 使用QList::insert()在列表的中间插入项目。 实例:

    1.3K10编辑于 2022-11-15
  • 来自专栏嵌入式项目开发

    QT 应用编程: 应用程序动态发布

    一、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程序存放的目录下。

    2.1K20编辑于 2022-01-12
  • 来自专栏嵌入式项目开发

    QT应用编程: windows下QT调用COM组件并集成到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程序中,就需要使用

    4.5K31编辑于 2022-01-07
  • 来自专栏Pou光明

    Qt事件系统与应用举例

    概述 在Qt中,事件都是从抽象类QEvent派生出来的对象。它们表示发生在应用程序内部或由于应用程序需要了解的外部活动而发生的事情。 本文档介绍了在典型应用程序中如何传递和处理事件。 2. 事件如何传递 当事件发生时,Qt通过构造适当的QEvent子类的实例来创建一个事件对象来表示它,并通过调用事件函数将其传递到QObject的特定实例(或其子类之一)。 一些,例如QTimerEvent ,来自其他来源;有些来自应用程序本身,如自定义事件等。 3. 小结 Qt的主函数中会开启一个事件循环,其实就是一个处理事件的while循环。 return a.exec(); 二、应用举例 1.

    2K30发布于 2020-05-07
  • 来自专栏Qt项目实战

    Qt开源作品10-代码统计组件

    写完这个工具第一件事情就是统计了一下自己写过的最大的项目大概多少行代码,看下是不是传说中的一行代码一块钱,这个最大的项目从2010年开始的,到现在差不多快10年了,是自己在现在公司写过的最大的项目,一直在升级更新完善 ,途中重构过两次,大的结构改动,统计了下好像有15W行左右的代码,纯代码大概在10W,其余是空行和注释行,着实把自己吓了一跳,还算是中型项目了,然后又统计了下自定义控件的所有代码,我勒个去,总代码23W ::AlignCenter); itemSize->setTextAlignment(Qt::AlignCenter); itemLine->setTextAlignment (Qt::AlignCenter); itemCode->setTextAlignment(Qt::AlignCenter); itemNote->setTextAlignment (Qt::AlignCenter); itemBlank->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem

    82950发布于 2020-05-15
  • CC++ Qt TableWidget 表格组件应用

    { 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

    1.3K20编辑于 2022-12-23
  • CC++ Qt QThread 线程组件应用

    QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承QThread这个基类,并重写实现内部的Run方法,由于该库是基本库,默认依赖于QtCore.dll这个基础模块,在使用时无需引入其他模块 int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); // 定义线程数组 MyThread thread[10 ]; // 设置线程对象名字 for(int x=0;x<10;x++) { thread[x].setObjectName(QString("thread => %1" ).arg(x)); } // 批量调用run执行 for(int x=0;x<10;x++) { thread[x].start(); thread [x].is_run(); thread[x].isFinished(); } // 批量调用stop关闭 for(int x=0;x<10;x++) {

    75210编辑于 2022-12-23
  • CC++ Qt QChart 绘图组件应用

    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 int i=1;i<100;i++) { series0->append(t,i); // 设置轴粒度以及数据 series1->append(t,i+10

    1.2K20编辑于 2022-12-28
  • 来自专栏嵌入式项目开发

    QT应用编程: 基于Qt设计的跨平台录音机功能

    一、功能介绍 运行环境:Windows10 64位 QT通过QAudioInput类读取声卡PCM数据,在封装WAV头,转为WAV格式的文件保存到本地。 可以选择指定的声卡录制、播放音频。 代码里固定录制10S的声音,有进度条显示录制和播放的进度。 在Android、ubuntu、windows测试运行OK。 define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QUdpSocket> #include <QAudio> //这五个是QT 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

    1.8K20编辑于 2022-01-07
  • CC++ Qt QThread 线程组件应用

    QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承QThread这个基类,并重写实现内部的Run方法,由于该库是基本库,默认依赖于QtCore.dll这个基础模块,在使用时无需引入其他模块 m_to_stop && (x <10); x++) { msleep(1000); std::cout << objectName(). main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 定义线程数组 MyThread thread[10 ]; // 设置线程对象名字 for(int x=0;x<10;x++) { thread[x].setObjectName(QString("thread = thread[x].is_run(); thread[x].isFinished(); } // 批量调用stop关闭 for(int x=0;x<10;x++

    38910编辑于 2022-12-28
  • 来自专栏Pou光明

    Qt ModelView教程(二)——应用举例(一)

    上次和大家分享了Qt Model/View只读表的方法,简单回顾下: 因为是为一个Table设置Model,为了快速入门,我们选择继承QAbstractTableModel。 这次和大家分享Qt Model/View教程的几个其他例子。 一、 使用Roles属性扩展只读Table 怎么扩展?扩展些什么? 无需更改其他任何内容即可设置字体,背景色,对齐方式和复选框等属性,其他属性可请参阅Qt名称空间文档以了解有关Qt :: ItemDataRole枚举功能的更多信息。 这里面值得注意的是调用data()函数的频率,具体可打印效果进行查看,一次可以判断使用分离的模型如何影响应用程序的性能。还有就是当鼠标悬浮在Cell时,都会对data()进行调用。 小结:本次主要和大家分享一下data()函数中其他属性的应用以及如何通过信号更新Cell数据。下次和大家分享下在Model中如何设置行列标题以及如何设置Table的可编辑属性。 学不可以已,积少成多!

    86310发布于 2020-02-12
  • 来自专栏个人路线

    Qt for HarmonyOS PC 时钟应用开发实践

    教程概述 本教程将手把手教你使用 Qt QML 在 HarmonyOS PC 平台上开发一个功能完整、界面精美的时钟应用。从零开始,逐步实现实时时钟显示、日期显示、12/24 小时制切换等功能。 style: Text.Outline styleColor: "#00D4FF" } // 日期和星期 Column { spacing: 10 styleColor: "#00D4FF" } // 日期显示 Column { spacing: 10 "#00D4FF" } // 日期显示 - 自适应字体 Column { spacing: 10 && event.modifiers & Qt.ControlModifier) { // Ctrl+Q:退出应用 Qt.quit()

    32510编辑于 2025-11-29
  • Qt 开发 macOS 应用的技术难点

    如果应用程序包含多个动态库或资源文件,打包和分发过程可能会非常复杂。解决方案:应用签名:使用 codesign 工具对Qt应用进行签名,确保应用符合苹果的安全要求。 使用 macdeployqt:Qt提供了 macdeployqt 工具,可以自动处理Qt应用程序的打包、签名和依赖库的包含。使用此工具可以简化应用打包过程,确保所有必要的动态库和插件都被正确打包。 解决方案:Qt版本与macOS的兼容性:定期检查并更新Qt到最新版本,以确保你的应用能够兼容最新的macOS版本。 性能优化难点:Qt应用的性能瓶颈:macOS上的图形渲染和应用性能可能受到一些因素的影响,如大量的UI组件、复杂的绘制操作或不优化的Qt控件。 总结在macOS上使用Qt开发应用时,面临的技术难点主要集中在平台特性、系统权限、UI外观、应用打包和分发等方面。

    1.1K10编辑于 2024-12-09
领券