
QT
文章平均质量分 60
liyuxia_1991
这个作者很懒,什么都没留下…
展开
-
2021-03-04
Qt设置窗口透明度-转载1,父窗口透明// 设置背景图片QPalette pa;setAutoFillBackground(true);pa.setBrush(QPalette::Background,QBrush(QPixmap("image/cloud.jpg")));setPalette(pa); //QPalette palette; // palette.setBrush(QPalette::Background, QColor(0, 0, 0, 100)); ...转载 2021-03-04 19:50:26 · 316 阅读 · 1 评论 -
Qt获取设备环境变量
1. 运行设备上有T_ROOT这个环境变量,获取环境变量方法如下:QString path = QProcessEnvironment::systemEnvironment().value("T_ROOT"); //获取名为T_ROOT的环境变量path.replace(QRegExp("\\\\"),"/"); //将‘\’替换成‘/’qDebug() <<...原创 2019-11-26 15:49:54 · 4026 阅读 · 0 评论 -
Qt中执行多条shell语句
在Qt中执行一个shell指令常用QProcess类来完成,常见的用法示例如下: QProcess process; process.start("find /opt/ -name ts_calibrate"); //str是需要执行的命令 flag = process.waitForFinis...原创 2019-11-26 15:38:58 · 3111 阅读 · 0 评论 -
Qt中使用事件过滤器来处理键盘焦点
我们都知道,在主事件循环中,使用QApplication::notify(QObject*, QEvent*)来分发事件到下面的子窗口,而子窗口将调用QObject::event(QEvent*)来根据事件类型调用相应的事件处理函数。在处理键盘焦点的时候,我们把焦点定位特殊部件的习惯通常是Tap键、下一个键盘快捷键或者鼠标滚轮等等,根据传统的方法,为了能够正确切换焦点,我们需要重写每个部件的键盘处转载 2017-10-12 20:14:00 · 1719 阅读 · 0 评论 -
QTableWidget常用技巧
本人在Qt开发应用程序时用到QTableWidget控件,总结一些常用技巧。1.表格显示设置 ui->IOtable->setRowCount(20); //设置表格行数 ui->IOtable->setColumnCount(7); //设置表格列数 QHeaderView* headerVi原创 2017-10-13 16:00:45 · 1587 阅读 · 0 评论 -
Qt 常见的几种数据类型转换
double/float size = 2.3334524;QString str = QString::number(size, 'f', 2);其中f代表非科学计数法格式,2代表小数点后两位。char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不原创 2017-10-23 15:54:16 · 7077 阅读 · 0 评论 -
Busybox上定时执行任务的实现方法
在busybox平台上实现定时执行任务功能,根据不同情况总结两种使用方法。一、利用crond完成crond是一个服务,一个守护进程。crond 是linux用来定期执行程序的命令,crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。按照网上查找的资料执行时经常会碰...原创 2018-03-13 16:05:31 · 2792 阅读 · 0 评论 -
Qt动态加载图片资源文件(资源文件与源代码分离)
在最近的Qt相关项目开发中,有不同客户提出更改logo图片的需求,每次更换一张图片需要重新添加到.qrc资源文件,并重新编译源代码生产可执行文件,操作效率极低,频繁修改源代码也 容易引起其他不可靠问题,故想把部分做成动态加载的形式。在网络上查阅相关资料后解决了这一问题,总结一下以便以后参考查阅。 我们大家都知道,在qt框架中,资源文件后缀名是以.qrc结尾的。它可以将我们的图片文件、qml、...转载 2018-12-11 17:30:25 · 11734 阅读 · 0 评论 -
QT图片资源的加载与使用(几种方法)
图片是一种资源,而在Qt中,对于资源的使用是有其独特的方式的!①:一般来说:资源在内存中是用资源对象树来表示的,该树在程序启动时创建。②:而对于资源而言:我们都是需要先将其加入到这棵树中才能加载到内存中并被程序使用!!③:而将一个图片资源放到程序的资源对象树中是用函数QResource::registerResource()来实现的。亦即:要将资源向这颗资源对象树进行注册,这样才对在系统中...转载 2018-12-11 17:32:07 · 12454 阅读 · 0 评论 -
QT常用实用的界面设计技巧
一、主界面 1.窗口 最小化 最小化 关闭按钮 显示状态自定义 setWindowFlags(Qt::CustomireWindowHint); setWindowFlags(Qt::WindowCloseButtonHint);//只要关闭按钮 setWindowFlags(Qt::WindowFlags type) Qt::FrameWindowH转载 2017-10-12 20:08:23 · 6089 阅读 · 0 评论 -
Qt编码方式(中文显示)
最近在Qt上遇到界面显示中文乱码的问题,实现方法如下:示例: QUdpSocket *mUdpRcver; QString rcvData; while (mUdpRcver->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(m原创 2017-10-12 19:50:17 · 8702 阅读 · 2 评论 -
Linux 上使用svnprintf 函数时函数返回值
本人最近在Qt上开发程序时,应用程序在运行过程中crash,指针最后停在 svnprintf函数返回值指向的数组内容,debug 跟踪发现 vsnprintf 函数返回值远大于限制的字符长度 和 分配的buffer 长度。如下图:查阅百度百科:snprintf(),为函数原型int snprintf(char *str, size_t size, const char *forma原创 2017-10-19 13:53:13 · 716 阅读 · 3 评论 -
QT 程序中对Linux设备内存的监控
最新在QT上开发应用程序的过程,需要对应用程序运行过程中Linux设备的内存使用率等进行显示,在Linux设备内存占用较高时给用户提示! 由于本人对Linux系统任务管理器的原理,不能直接从任务管理器中得到Linux 设备CPU的占用率,于是就采用间接办法来获取CPU信息。 Linux系统信息一般都能在/proc/目录下查看cpuinfo,meminfo文件来获取,通过原创 2017-10-19 19:01:26 · 1645 阅读 · 0 评论 -
Qt获取运行设备本机IP地址
本人在开发Qt应用程序时,需要在应用程序中显示运行设备的本机IP地址,本来考虑解析运行设备的网络配置文件来获取IP地址,后来查阅文档后,发现Qt的网络编程模块中QHostAddress类 可以很方便解决这个问题,记录一下。本人实现方法如下: QList ipAddressesList = QNetworkInterface::allAddresses(); // use t原创 2017-10-19 19:48:21 · 7222 阅读 · 0 评论 -
core dump 分析程序异常
最近在Linux上开发Qt 应用程序时,出现应用程序不定时发生异常终止,检查代码内容没有查出问题,后来采用core dump 这种方式能准确定位到问题。在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“core memory”。(线圈的单词应该是coil,呵呵)如今,半导体工业澎勃发展,已经没有人用线圈当内存了,不过转载 2017-10-21 10:27:31 · 1319 阅读 · 1 评论 -
没有core dump文件如何定位问题
最近在 Linux Qt上做开发,发现程序异常crash,用core dump文件也没有记录下来有用的信息,如下图:定位程序异常crash 的过程百般痛苦,虽然最后是用 把core dump文件大小的限制取消,完整记录程序崩溃的堆栈信息结合gdb 定位到问题,但发现网友分享的 不用core -dump 定位bug的方法,故记录下来,以备他日试用。有时写c/c++程序原创 2017-10-21 11:47:49 · 2966 阅读 · 0 评论 -
QT 中自定义QScrollBar 风格(宽度、滑块大小等)
最近在Qt上做应用程序开发时需要对一个文本编辑框的滚动条进行设置,在网络上查阅了很多网友的意见,多次尝试验证后终于达到目标,现记录整理本次试验的过程,以便参考查阅。 本人在应用程序中封装PeTextEditor 类用来编辑、加载文本,文本编辑器右侧的滚动条的滑块会根据内容大小进行放大和缩小,当加载文本文件很大时,滑块很小不方便手动操作,故需对滚动条的格式进行修改设计。原创 2017-10-12 16:25:39 · 27247 阅读 · 2 评论 -
关于QT 内存泄露
最近在研究Qt 开发的应用程序内存监控的问题,查阅网友关于Qt中指针对象的使用与内存的关系,特收藏起来以便今后查阅!一、简介 Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系。在 Qt 中,在 Qt 中,删除父对象会将其子对象一起删除。C++中delete 和 new 必转载 2017-10-12 18:55:18 · 632 阅读 · 0 评论 -
QT的键盘事件及焦点设置
Qt键盘事件属于Qt事件系统,所以事件系统中所有规则对按键事件都有效。下面关注点在按键特有的部分:focus一个拥有焦点(focus)的QWidget才可以接受键盘事件。有输入焦点的窗口是活动窗口或活动窗口子窗口或子子窗口等。焦点移动的方式有以下几种:按下Tab或Shift+Tab注意:文本编译器(一般需要插入Tab),或者WebView(需要Tab来移转载 2017-10-12 19:40:32 · 3777 阅读 · 0 评论 -
Qt 文件另存为功能
最近在导出设备运行日志时,为避免每次导出的日志文件名相同,需要把最新日志文件加上当前时间保存。实现方式非常简单: QString fileName = "/dev/shm/XXX.log"; QFile file(fileName); QFileInfo fileInfo(fileName); QString dstPath原创 2017-10-19 13:24:47 · 3745 阅读 · 0 评论