一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、功能介绍 初始化QDebug输出重定向到日志文件,重定向之后,程序里通过qDebug()<<"xxx"输出的数据都会保存到在日志文件中...ts << txt << endl; } int main(int argc, char *argv[]) { QApplication a(argc, argv); //初始化qdebug
QDebug在开发过程中使用得较多,整理了一些较少用却很有用的知识。...禁用自动插入空格 QDebug &QDebug::nospace() 对比: qDebug() << "Hello" << "world!"...QDebug &QDebug::noquote() 对比: qDebug() << QString("Hello world!")...qDebug(const char *message, ...) 如: qDebug("%s", "Hello world!")...; 屏蔽qDebug打印 项目文件(.pro)添加 DEFINES+= QT_NO_DEBUG_OUTPUT
一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 二、设置子系统为控制台 三、输出中文乱码解决 在代码页第一行指定当前文本的编码
#include #include void printHello() { #ifdef Q_OS_WIN qDebug("Hello...Qt World on Windows!")...; } #elif defined(Q_OS_LINUX) qDebug("Hello Qt World on Linux!")...; #elif defined(Q_MV_OSX) qDebug("Hello Qt World on MacOS!")...; #else qDebug() << "We don't support this platform yet!"
一、功能介绍 实际项目中经常需要获取当前系统磁盘或者指定磁盘的使用情况,下面使用QT里的QStorageInfo 类获取磁盘信息,得到磁盘容量和使用情况。...二、核心代码 void MainWindow::GetDiskInfo() { //获取当前系统盘(Linux系统就是根目录)的磁盘情况 QStorageInfo ROM = QStorageInfo.../1024/1024/1024 << "GB"; //获取指定目录的磁盘情况,直接设置路径即可 QStorageInfo SD; SD.setPath("/mnt/hgfs/linux-share-dir.../QT"); SD.refresh(); //获得最新磁盘信息 qDebug() <<"文件系统路径:"<< SD.rootPath(); if(SD.isReadOnly()...)qDebug() << "只读文件系统:" << SD.isReadOnly(); qDebug() << "文件系统类型:" << SD.fileSystemType(); qDebug
Linux桌面系统屏幕信息获取(Qt、X11、Xrandr、Xinerma) 最近在项目测试中,发现了关于Qt - UI分辨率自适应的问题。从大小屏幕互相切换的问题。也引发了关于屏幕检测的问题。...Windows下的获取调用WindowsAPI进行设置,网上大多也给出了解决方案,但是linux在怎么获取,大多都没有提到,所以在这进行讨论。...Qt Qt自身获取屏幕分辨率,主要还是在 QApp初始化后获取,在这主要提一下DPI值得获取。一些方案中DPI的计算在初始化之后进行。...下述代码是在外网上关于Qt屏幕信息获取的一段,忘记是否是Qt官方的Demo了。...错误情况猜测,Qt毕竟属于C++接口,属于上层应用接口。并不如X11这些C接口直接调用来的准确。以后劲量避免使用Qt接口来设置屏幕相关属性了。
三个平台下编译了ctk库,因此这里就创建lib-linux-arm64-gcc、lib-linux-x64-gcc、lib-windows-x64-msvc三个目录。...linux平台下与windows平台下ctk要拷贝的库文件列表如下图所示。 最后创建一个Plugindepends.pri文件,用以添加qt工程中的头文件与库文件路径描述,文件内容如下。...(QT_ARCH, arm64): LIBS += -L$$PWD/.....QT += core QT -= gui TARGET = plugin-appinfo TEMPLATE = lib CONFIG += plugin include($$PWD/.....linux-x86_64环境下编译运行结果如下图所示。 linux-arm64环境下编译运行结果如下图所示。
❝简单的QDebug重载例子,以支持自定义类型(枚举)打印输出。...Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; } QDebug...operator<<(QDebug debug, const Day &day) { switch (day) { case Monday: debug...break; default: break; } return debug; } Day day = Monday; qDebug
❝qDebug会将浮点型超过一百万的数打印为科学计数法,该如何解决它呢?...❞ double d = 1000000; qDebug() << d; 输出: 1e+06 由于qDebug底层使用QTextStream打印数据,而QTextStream可以设置输出的格式为科学计数法...qDebug不提供设置浮点型数据输出为定点记数法,只能通过其他方式解决。...先转为QString再打印 接口: static QString number(double, char f='g', int prec=6); 例子: double d = 1000000; qDebug...s.setRealNumberNotation(QTextStream::FixedNotation); /* 使用固定模式 */ s.setRealNumberPrecision(0); /* 保留0位小数 */ s << d; qDebug
-4.8.3/mkspecs/linux-g++/ qmake.conf 我就觉得很奇怪,因为我已经设置了环境变量,并且测试过可以编译成功,这时发现 qmake读取的不是mkspecs/linux-g+...+/ qmake.conf(qt库安装路径的qmake.conf),而是源码包的配置文件,于是在 ~/.profile添加一句 export QMAKESPEC=$QTDIR/mkspecs/linux-g...目录下却没找到这个动态库,直接find,发现居然存在于 /usr/lib/i386-linux-gnu/qt4/plugins/sqldrivers/libqsqlmysql.so 接下去的就不用我多说了吧...#include #include #include int main(int argc, char...db.open()) { qDebug() << "Unable to open database"; } else { qDebug()
本编利用Qt实现一个网络摄像头功能,包含一个服务端和一个客户端,服务端用于将USB摄像头转换为一个IP摄像头,当有客户端连接时,将其捕获到的图像通过TCP发送出去;客户端运行在Linux板子上,用于查看摄像头的实时画面...下面就来看一下Qt中如何实现TCP Socket通信。...这里整理Qt中TCP Socket的使用方法,配合Qt的信号与槽机制,即可实现服务端/客户端数据的收发处理。...i.MX6ULL自带的系统固件Linux板子,需要通过SSH的方式将编译的程序再发送到板子中,SSH传输文件的操作可参考上篇文章: 嵌入式Qt-控制硬件:滑动条控制RGB灯 3.2 实验演示 http...4 总结 本篇介绍了如何用Qt实现一个网络摄像头功能,通过服务端将USB摄像头转换为一个IP摄像头,Linux板子中的客户端来连接服务器,将摄像头的实时画面显示出来。
1.前言 之前我使用在桌面版本Qt实现了肺炎疫情监控平台:基于Qt的新冠肺炎疫情数据实时监控平台(开源小项目)。..."isShowAdd": true } } 3.Qt界面的实现 之前的应用程序中,是使用的Qt5版本开发的,Qt5自带QJson解析类,而Qt 4没有带QJson,所以只能使用第三方JSON解析库...264199; //output current qt version id qDebug() << QT_VERSION; //output curretn screen...桌面Linux效果 4.在开发板上运行Qt程序 如果在桌面运行正常,就可以使用iMX287A开发套件来构建工程,生成可以在iMX287A运行的程序,使用scp命令传输到开发板上还需要使用udhcpc命令来自动获取路由器获取的...桌面Linux版效果: ?
在Window系统上,打开我的电脑,我们就能够看见系统的每个磁盘的可用空间以及总空间,如下所示: 在嵌入式Linux与QT界面结合的产品开发中,我们在做产品的文件管理模块通常来说也需要做这样一个功能。...方法一:(参考QT大神-飞扬青云的磁盘容量空间控件实现) 利用Linux系统天生就已经提供的df命令来获取,例如我们可以带上-h参数,这样就可以获得以人类可读的格式显示输出,如下所示: 基于韦东山imx6ull...因此,我们能够借助QT提供的字符串分割方法以及一些简单的逻辑来实现获取其中一行的内容。...() << "设备名称:" << dev ; qDebug() << "总空间:" << all ; qDebug() << "已经使用了多少空间:" << use ; qDebug...结合QT的QProcess函数或者Linux C提供的popen函数来调用df -h命令来获取磁盘容量信息,然后通过这种方法循环读取每一行,结合自己产品的业务逻辑去获取对应的内容即可。
前言 在QT for Windows 下编程时,经常因为一些中文路径、带空格的路径导致一些问题出现。 目录无法打开、文件无法打开、程序无法调用等等。下面记录一些出现问题的场景,并提供一些解决办法。...在Qt里调用_chdir函数切换当前工作目录时,如果目录有空格或者中文会导致路径切换失败。.../path/to/Qt/examples/widgets/analogclock"; QStringList arguments; arguments << "-style" <...()<<qba; (2)切换目录解决-_chdir QString strAppPath ="D:\\<em>linux</em>-share-dir\\我是中文路径\\Program Files\\Release\\"...()<<qba; (3)切换目录解决-QDir QDir::setCurrent("D:\\linux-share-dir\\我是中文路径\\Program Files\\Release\\"); QProcess
引出QT进阶学习——如何通过QT连接云服务器的MySQL数据库并进行数据库操作 和 数据表的增删改查连接本地MySQL1.首先下载MySQL的ODBC驱动MySQL :: Download Connector...在后面的qt中建立Mysql连接时需要用到;补充:ANSI 版和 Unicode 版ODBC(开放数据库连接)驱动程序有两种版本:ANSI 版和 Unicode 版。...() << QSqlDatabase::drivers(); });如何连接华为云服务器中的MySQL1.在Centos中安装Linux版本的ODBC驱动通过以下命令安装Linux版本的ODBC驱动...false; } qDebug() << "连接成功"; return true;}数据库操作和表创建查询现有的数据库查询现有的所有数据库,通过QT中提供的QSqlQuery进行查询...进阶学习——如何通过QT连接云服务器的MySQL数据库并进行数据库操作 和 数据表的增删改查
如果使用Qt编程实现,主要会用QThread、QProcess这两个类。关于这两个类的具体用法可以查阅Qt助手或者QT官网。...在QT中为了扫描大量的Ip,通常需要将扫描Ip的任务放在一个单独的线程来完成,这样需要子类化QThread,重写其run()方法。..." << ip)); #endif if(0 == exitCode) { //it's alive qDebug...; //发射该IP在线的信号 emit commandSuccessed(ip); } else { qDebug...另外,需要注意的是ping命令在Windows下和Linux(Mac)下的命令有所不同,可以参考Linux和Windows下ping命令详解1和Linux和Windows下ping命令详解2
一、基本介绍 该软件里推流和视频保存使用FFMPEG库完成,界面框架采用QT,视频和音频可以同步推流和录制,FFMPEG本身支持跨平台编译开发,QT也支持跨平台,在Android、Linux、windows...()<<"height:"<<cloneFrame.height(); // qDebug()<<"width:"<<cloneFrame.width(); //qDebug()<<"bytesPerLine...:"<<cloneFrame.bytesPerLine(); //qDebug()<<"mappedBytes:"<<cloneFrame.mappedBytes(); //qDebug()...+= core gui QT += multimediawidgets QT += xml QT += multimedia QT += network...QT += widgets QT += serialport greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG +
1.前言 之前我使用桌面版本Qt实现了肺炎疫情监控平台: [开源]我用Qt做了个疫情数据实时监控平台。 既然Qt是跨平台的,那么能不能在嵌入式平台实现一下呢?...桌面Linux版本的运行效果: ? YA157C开发板实现效果: ? 2.数据接口的获取 疫情监控平台的实现,简单的说,就是数据的展示,而数据从哪里来呢?..."isShowAdd": true } } 3.Qt界面的实现 之前的桌面应用程序中,是使用的是Qt5版本开发的,Qt5自带QJson解析类,而Qt 4没有带QJson。...()) ipAddress = QHostAddress(QHostAddress::LocalHost).toString(); return ipAddress; } 桌面Linux...桌面Linux版效果: ? 5.使用无线模块联网 YA157C开发板已经板载了一个WiFi & 蓝牙模组——AP6212,可以直接连接无线网,这样就不需要使用网线的方式联网了。 ?
工作原理: 项目地址 breakpad:GitHub - google/breakpad: Mirror of Google Breakpad project 编译安装 linux平台下 linux.../linux-syscall-support 1.下载breakpad和LSS源码 2.将LSS中的linux_syscall_support.h移动到breakpad/src/third_party...详情查看链接链接:https://blog.csdn.net/jackboos/article/details/105026109 使用breakpad 在QT中的测试: 在vcpkg/packages...引用: Breakpad使用(window)_narkang的博客-CSDN博客_breakpad 通过vcpkg编译breakpad并在qt项目中应用,VS编译器_沐大人的博客-CSDN博客 https...article/details/85716750 https://blog.csdn.net/lm111111/article/details/105623432 通过vcpkg编译breakpad并在qt
Qt君最近感觉qDebug相对于printf打印感觉有些慢,但又没有证据,于是闲着就写下qDebug,std::cout,printf的性能表现咯。注:测试数据仅供参考。...0x00 测试环境 环境 参数 CPU i5-8250U 内存 8G 操作系统 Windows@64位 Qt版本 Qt 5.12.1 编译器 MSVC2017@64位 0x01 数据呈现 通过使用...qDebug,std::cout,printf在1秒内打印的字符串数据。...0x02 数据分析 性能表现:printf > std::cout > qDebug; qDebug()相对于std::cout和printf差距过大(6~10倍); std::cout与printf...0x03 结论 qDebug比std::cout和printf慢,高频调用有可能影响系统时延; 性能均衡推荐选用std::cout; 追求性能选用printf。
领取专属 10元无门槛券
手把手带您无忧上云