首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt开源作品21-日志重定向输出类

一、前言 用qt开发商业程序已经十年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等...,qt对这个日志输出也做了很好的封装,在Qt4是qInstallMsgHandler,Qt5里边是qInstallMessageHandler,有了这个神器,只要在你的项目中所有qdebug qinfo...做过的这么多项目中,Qt4和Qt5的都有,我一般保留四个版本,4.8.7,为了兼容qt4, 5.7.0,最后的支持XP的版本, 最新的长期支持版本5.9.7 最高的新版本5.12。...毫无疑问,我要封装的这个日志类,也要支持4+5的,而且提供友好的接口。 主要功能: 支持动态启动和停止。 支持日志存储的目录。 支持网络发出打印日志。 支持Qt4+Qt5,开箱即用。 支持多线程。...return self.data(); } SaveLog::SaveLog(QObject *parent) : QObject(parent) { //必须用信号槽形式,不然提示 QSocketNotifier

1.3K30

Qt应用开发--国产工业开发板全志T113-i的部署教程

Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用,因其跨平台性和丰富的功能而备受青睐。...Qt能够为工业领域带来什么好处: - Qt提供了强大的图形引擎,使开发人员能够创建具有吸引力和高性能的用户界面 - Qt允许开发人员根据具体需求定制用户界面和功能。...@1.2GHz处理器T113-i,精心设计的全国产工业开发板,它提供了Qt的运行环境,可以让我们快速的部署工业领域的用户交互界面,控制系统等。.../led_control Qt开发环境 开发环境下载 Qt开发环境下载,作者是使用Qt 5.12.0,下载链接:https://download.qt.io/archive/qt/5.12/5.12.0...; keyNotify = new QSocketNotifier(this->keyFd, QSocketNotifier::Read, this); connect(this->keyNotify

42310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt线程中使用Socket客户端通信

    在Qt中使用线程有两种方式:一种是继承QThread,重新实现run()函数。此时要注意,只有run()函数里面的才是单独运行到线程中的。...点击Send按钮,报错如下:QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread....【QSocketNotifier:无法从另一个线程启用或禁用套接字通知程序】。服务器向客户端发送数据,客户端接收不到,connect()函数返回True,说明信号与槽连接成功。...这是上述测试程序的运行结果。 第二种测试: 在sleep(1)后加入 exec()函数,while()循环只执行一次,客户端槽函数可以接收服务器发出的数据。但在主UI中依然无法向服务器发送数据。...这次的内容只描述两种测试结果,接下来的其他内容将逐步剖析这些情况的原因。 一起学习,共同进步。我们都是奋斗者!

    4.8K40

    Qt 5.9长期支持版本将于2020年5月结束

    「对Qt 5.9 LTS的支持将于2020年5月结束。如果仍然使用Qt 5.9 LTS,则建议更新到即将发布的Qt 5.15 LTS或Qt 5.12 LTS。...Qt的长期受支持版本支持三年,因此对Qt 5.9 LTS的支持将于2020年5月结束。许多用户已经迁移到了更高版本,尤其是Qt 5.12 LTS。...下周,我们还将提供Qt 5.15 LTS,因此,鼓励那些尚未切换到较新版本的Qt的人现在就这样做。请注意,从Qt 5.15开始,长期支持仅适用于商业许可证持有者。   ...Qt 5.9 LTS取得了巨大成功。这是Qt 5系列的第二个LTS版本,并且收到的修补程序版本比Qt 2.3以来的任何其他Qt版本都多。...但是,尽管Qt 5.9 LTS是一个不错的版本,但最新的长期受支持的Qt版本甚至更好。因此,是时候继续进行并将所有活动的项目推进到当前支持的Qt版本了。

    1.5K20

    Qt示例-AnalogClock-自定义窗体-使用QPainter的转换和缩放特性简化绘图

    摘要: 本示例是使用Qt的QPainter的转换和缩放特性简化绘图,绘制一个时钟,里面包含时针、分针、秒针、钟表刻度的绘制。 也包含计时器的使用,以及创建带有栅格表面的自定义窗口。...,让它每隔1秒发一次事件,然后通过这个事件来渲染时钟的最新状态。...把这个绘制设备实例,传给QPainter,用来创建它的实例 这个绘制设备的填充色是一个QGradient::Preset,此枚举定义了一组渐变色预设值,这个是在Qt5.12加入进来的 关于此枚举的详细说明...setPen()为Qt::NoPen,是为了绘制的时候不需要带有任何轮廓。 并使用了一个颜色适合显示小时的实体笔刷。画笔用于填充多边形和其他几何形状。...目的是为了在绘制分针、秒针的时候,不需要考虑上一次的旋转矩阵的状态。

    2.2K10

    Qt:windows下Qt安装教程

    软件下载 Qt5.12下载网址: http://download.qt.io/archive/qt/5.12/5.12.2/ 注意: 官网很慢,所以我们一般是使用国内镜像网站: 清华大学:https:/...以清华大学开源软件镜像站为例,进入 Qt 5.9.0 的下载目录(https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.12/5.12.0/),在某个链接处单击鼠标右键...进入 5.12 目录,会看到各种子版本: 这里解释一下 Qt 的版本号,比如 5.12.8 是完整的 Qt 版本号,第一个数字 5 是大版本号(major),第二个数字 12 是小版本号(minor...也就是说本教程对 5.12.* 系列的 Qt 都是通用的,下载5.12.* 任意一个版本都可以,这里我们以下载 5.12.2。...需要注意的是,MinGW 与 Linux/Unix 系统里 GNU 工具集的有些区别: MinGW 里面工具带有扩展名 .exe, Linux/Unix 系统里工具通常都是没有扩展名的。

    6.1K20

    KDE Plasma 5.12.8 LTS发布:引入70多项改进

    长期支持的KDE Plasma 5.12 LTS桌面环境于今天获得了第8个维护版本更新,修复了大量错误并对性能进行了优化调整。...以及Qt 5.12兼容PulseAudio声音服务器。...Plasma 5.12于2018年2月份发布,其中包含许多功能改进和新模块来完善桌面体验。本次版本更新包含了KDE贡献者过去六个月的翻译和修复。这些BUG修复虽然规模不大,但是非常重要。”...作为长期支持版本,KDE Plasma 5.12桌面环境每隔6个月获得一次维护版本更新,将会在2020年7月停止支持。KDE Plasma 5.12.9 LTS ,目前定于2019年9月10日发布。...在此之前,如果您仍然在GNU / Linux发行版上使用KDE Plasma 5.12 LTS桌面环境,我们建议您尽快将其更新到今天的KDE Plasma 5.12.8版本。

    42430

    Qt 下载安装

    Archive—qt 这个 qt 目录包含了所有的 Qt 版本,从 1.0 到目前的 5.12, Qt 5.9 是一个长期技术支持版本(Long Term Support,LTS),在未来几年里都将有更新支持...选择安装组件:Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。...MSVC 使用VS编译 Qt WebEngine:该模块继承了最新的谷歌浏览器引擎;后面带(TP)的是技术预览版 4. 最后安装就好了。...注意以下是以普通用户权限安装的,安装位置是 /home/用户名/Qt5.9.0/,如果希望安装到其他的目录(如 /opt/ 目录),是需要 root 权限的。...2、如果系统没有自带OpenGL库时,在做带有3D效果的界面会报错,手动安装OpenGL。

    2.2K10

    Qt介绍及环境搭建

    QtQt的发展与优势 什么是Qt Qt是一个跨平台应用程序和UI开发框架。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。...“一次编 写,随处编译”,即同样的代码,只需在新的系统上重新编译即完成了移植,大大 降低了移植成本。...面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户 开发来说是非常方便。...支持 2D/3D 图形渲染,支持 OpenGL,大量的开发文档、强大的帮助系统 XML、数据库支持...... Qt现在的地位 未来由Qt来编写;使用Qt,构建您的世界; ?...archive/qt/5.12/5.12.1/ 为什么选择这个版本 ?

    2.2K40

    Qt 5.13版本正式发布(带下载链接)

    与往常一样,我们的版本带有新功能,更新,错误修复和改进。对于Qt 5.13,我们也一直专注于我们的工具,使得设计,开发和部署Qt的软件对设计人员和开发人员都更有效。...Qt正在为WebAssembly设置C++开发的步伐,Google最近使用Qt作为如何在Google I/O '19活动中在浏览器中运行C ++应用程序的示例。...3.Qt QML   Qt QML模块为使用QML语言开发多变的用户界面提供了一个框架。...10.Qt CoAP(技术预览版)   Qt CoAP(约束应用协议)是M2M协议的客户端实现,用于物联网的受约束节点和网络。...3.Qt for Python   自Qt 5.12附带的第一个官方支持的版本以来,Qt for Python已经收到了大量的错误修复和改进。

    8.2K20

    基于qt的简单小游戏_中国象棋单机版2,0

    Qt 的安装 安装 Qt 并不麻烦,就是网速有点慢。推荐使用国内镜像代理下载。...推荐安装最新的 Qt 6 或者 Qt 5.12,最好选择所有的 Qt 核心功能,以及合适的编译器和调试器,当然别忘了相关的开发和设计工具,比如 Qt Creator 和 CMake、Ninja 等。...当然类似字典功能的官方文档是最好的选择,这里推荐几个比较详细的中文资料网站: Qt 学习之路 2 Qt 快速入门系列教程 信号槽 上面的系列教程已经很详细地介绍了 Qt 相关知识。...当某个事件被触发后(如按钮检测到自己被按下),该对象(按钮)就会发出一个信号。注意:这种发出是没有目的的,类似广播。...接下来,若想让另一个对象(控制器开关)接受到该信号,它就会使用连接函数 connect(),将发送者(即按钮对象)和自己的一个触发函数(称为槽)连接起来,表示当发送者发出信号给接收者后,被连接的槽函数会自动回调

    1.2K20

    【Autoware】2小时安装Autoware1.13(保姆级教程)

    1.Autoware简介 Autoware是一款“一体化”开源自动驾驶软件,能实现感知、决策、控制等功能,通过在Ubuntu中搭建Autoware开发环境和案例的运行,使大家对自动驾驶技术的实现有一个更清晰的认识...5.12.0 自动驾驶软件-Autoware 1.13 由于大多数学习者电脑没有GPU,以下安装仅适用于Autoware-cpu版本。.../qtproject/archive/qt/5.12/5.12.0/qt-opensource-linux-x64-5.12.0.run 将会自动下载如下软件包: qt-opensource-linux-x64...安装路径请放置在/opt/Qt5.12.0,选择需要的Qt模块) sudo chmod +x qt-opensource-linux-x64-5.12.0.run sudo ....的路径表示配置成功): echo $PATH 至此,Qt creater安装完成,也可以进行qt开发。

    1.1K10

    qt中readyread信号的使用_心动的信号cp组合有哪些

    当新的数据到来的时候,这个信号还会再发送且仅发送一次。比如:新的网络数据到达你的网络socket,或者新的数据块添加到你的设备。...这句话的意思是,当你的QTcpSokcet第一次接收到数据,也就是socket的缓冲区从没有数据变为有数据时,触发一次。...接下来非常关键的一句话是:“当新的数据到来的时候,这个信号还会再发送且仅发送一次。”...文档明明说有新的数据来,就会帮我触发一次。...其实啊,这里说新的数据来,不是说从发送端有新的数据来到你的主机,而是数据从Tcp/ip协议栈到达接收端的Qt应用程序,也就是系统io缓冲区到达Qt应用程序,数据从系统到达Qt应用程序一次,readyread

    2K30

    Window10安装ROS2

    全看的是官方的文档。 以下的操作都要管理员的权限,我可以提前剧透,我应该应该是没有安装上DDS,应该是算安装好了80%的样子。...安装文档也需要安装这个东西 以上就是已经编译好的ROS2 需要安装QT5 第一次使用要注册 然后就是申请 在官网的最下面可以申请 安装作业 位置 安装的内容 下一步...安装好的样子,下面是需要执行的添加环境的命令 setx /m Qt5_DIR C:\Qt\Qt5.12.12\5.12.12\msvc2017_64 setx /m QT_QPA_PLATFORM_PLUGIN_PATH...C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\platforms OK 在ROS的解压文件夹下看下有没有安装脚本文件 call C:\dev\ros2-package-windows-AMD64...晚上的学院,冷冷清清的,有点烦躁了 晚安 https://download.qt.io/archive/qt/5.12/5.12.2/ https://ci.ros2.org/view/packaging

    1K20

    关于BUS通信系统的一些思考(一)

    但是有两个问题,第一个问题是节点间两两互相建立信道,意味着信道很多,而且是网状的。虽然在物理机之间通信的时候做过一次收敛,但是内部还是网状的连接,同时为了维持这些信道,内存开销不小。...另一个问题就是还是没有解决单机内网状的共享内存通道连接关系。 高性能开源消息队列组件- ZeroMQ 对于BUS系统和消息队列,也有一些很有名气的开源组件。比如这个,ZeroMQ。...ZeroMQ最大的特点就是是面向消息的,和前面提到的两种还有socket的通信方式完全不一样。 不过不得不说,ZeroMQ确实把通信模式总结得非常好,支持请求-回应模式、发布-订阅模式、路由消息等。...不过我个人觉得,最重要的问题还是消息的可靠性问题。 开源BUS组件- D—Bus4 D-Bus已经用于Gnome、Qt等一些知名的开源项目。...[return] D-Bus: 一个用于Gnome、Qt的开源Bus系统解决方案,http://www.freedesktop.org/Software/dbus [return] kdbus

    1.7K10

    Verilog时序逻辑硬件建模设计(二)同步和异步复位

    D触发器异步复位 异步复位不是数据路径的一部分,用于初始化触发器,而不考虑时钟边沿,因此称为异步复位。这种初始化触发器的技术不推荐用于生成内部复位信号,因为它容易出现故障。...示例5.3 D触发器,带低电平异步复位信号“reset_n”输入 图5.10 带低电平异步复位信号输入的综合D触发器 D触发器同步复位 在同步复位中,复位信号是作为数据路径的数据输入的一部分,取决于活动时钟边沿...示例5.4 D触发器,带有源低同步复位输入 图5.11同步复位D触发器的综合逻辑 带同步复位输入的正边沿触发D触发器的综合逻辑如图5.11所示。...综合逻辑如图5.12所示。...示例5.5带异步“reset_n”和“load_en”的D触发器的Verilog RTL 图5.12异步复位D触发器的综合输出 带使能同步复位的触发器 如果多个信号或输入是数据路径的一部分,并且在时钟的活动边沿上采样

    1.5K40

    Qt编写自定义控件36-图片浏览器

    ; //下一张 void moveNext(); //移动到指定索引图片 void moveTo(int index); signals: //总数发生改变时触发...void totalNumChanged(int totalNum); //当前图片索引发生改变时触发 void currentIndexChanged(int currentIndex...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...目前已提供26个版本的dll,其中包括了qt5.12.3 msvc2017 32+64 mingw 32+64 的。 不定期增加控件和完善控件,不定期更新SDK,欢迎各位提出建议,谢谢!

    1.2K00

    【QT】 控件 -- 按钮类(Button)

    autoRepeatDelay 重复触发的延时时间。按住按钮多久之后,开始重复触发。 autoRepeatInterval 重复触发的周期。即每次重复触发之间的时间间隔。...因此表格仅列出 QAbstractButton 独有的属性 Qt 的 api 设计风格是非常清晰的,此处列出的属性都是可以获取和设置的。...1、带有图标的按钮 – 纯代码实现 具体操作步骤参见上篇文章所讲的 QWidget 核心属性中的 windowIcon 部分。...老样子,先引入图片 prc,然后在界面上创建一个按钮, 再修改 widget.cpp,给按钮设置图标 2、带有快捷键的按钮 – 图形化&代码实现 1)在界面中拖五个按钮 五个按钮的 objectName...pressed 是鼠标按下触发的 released 是鼠标释放触发的 toggled 是 checked 属性改变时触发的 总的来说,toggled 是最适合 QRadioButton 的。

    6300
    领券