- 博客(64)
- 资源 (5)
- 收藏
- 关注
原创 QWebChannel实现与JS的交互
在使用Qt(C++)和JavaScript之间实现通信时,通常会使用一些模块和技术来使两者能够交互和传递数据。作用:除了上述Qt提供的模块,还可以使用其他桥接技术来实现JavaScript与C++之间的通信,如Embind、Boost.JS等。这在需要动态执行和控制JavaScript代码的情况下很有用。作用:Qt WebEngine是Qt中的Web引擎,允许在Qt应用程序中嵌入Web内容,包括JavaScript脚 本。这样,您可以在Qt中暴露C++对象,使其可以在JavaScript中访问,反之亦然。
2024-06-28 10:20:35
1486
转载 TCP协议与UDP协议的区别
首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。 TCP/IP协议集包括应用层,传输层,网络层,网络访问层。 其中应用...
2018-09-04 14:23:52
268
2
转载 设计模式C++学习笔记之二十(完结篇 & 面向对象原则)设计模式C++实例下载
Prototype(原型模式)20.1.解释概念:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。main(),客户ICloneableNow,只有一个接口CloneCMail,实体类CAdvTemplate,说明:通过克隆的方式很快速的得到一个新的对象,然后稍微修改就是一个全新的对象了,节省了重新创建对象对资源的大量占用。Mediator(中介者模...
2015-12-17 09:30:23
284
原创 死锁产生的原因及四个必要条件
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的...
2015-12-10 16:56:52
290
原创 关于ubuntu定时执行某些操作的问题
定时执行一些操作,编辑crontab文件cd /etc/sudo gedit crontab# Minute Hour Day of Month Month Day of Week Command # (0-59) (0-23) (1-31) (1-...
2015-01-12 16:07:54
125
转载 串口调试问题 串口打开失败
一、串口通讯在linux 下 cat /dev/ttyS0 接收.但奇怪的是 cat /dev/ttyS0没有显示受到认识数据,反而是我的串口调试助手收到了返回!!linux端不用 cat /dev/ttyS0读的时候没有返回!原因:1.windows要发送可显示字符,cat才能显示出来。2.串口调试助手设置了回显功能。3.windows的串口调试软件发送时多发一个回车键就行了,而...
2015-01-09 15:12:11
13533
原创 ubuntu 12.10 以上字符界面
正常使用就用X,想进字符就用Ctrl+Alt+F1~6进文本控制台,字符界面用Alt+F*键切换,回图形就是Alt+F7,注意可能笔记本显示器亮度会有问题,要自己调回来
2015-01-06 15:01:53
111
原创 LoadLibrary 总是失败 返回错误代码为126
在QT环境下的一个程序中调用了cb生成的dll日志库,但是LoadLibrary的时候,返回的HMODULE始终为NULL,用GetLastError()的时候,返回错误代码为126HMODULE hDll=LoadLibrary(L"PDA850.dll");qDebug() << hDll << GetLastError();查网上都说缺少库所依赖的文件。depen...
2014-12-04 09:41:58
1824
原创 Ubuntu使用ttyS*(如mincom)时不需root权限的方法
Ubuntu:其实只要很简单的一步,就能够实现非root权限就能访问/dev/ttyS*设备了。 首先我们来看看为什么普通账户会没有权限访问ttyS设备了:ls -l /dev/ttyS0crw-rw---- 1 root dialout 4, 64 8月 30 21:53 /dev/ttyS0 从上面的输出,我们很容易看出来,ttyS设备的用户主是root,而所属的组是dialout,并...
2014-11-25 15:09:48
1463
原创 查看linux下串口是否可用
查看串口是否可用,可以对串口发送数据比如对com1口,echo lyjie126 > /dev/ttyS0查看串口名称使用 ls -l /dev/ttyS* 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;查看串口驱动:cat /proc/tty/drivers/serial...
2014-11-25 10:41:33
1949
原创 qInstallMessageHandler 实现日志输出
bug信息输出到制定文件中,方便找出问题所在!#include <QApplication>#include <QTextCodec>#include <QTime>#include <QFile>#include <qapplication.h>#include <stdio.h>#include <...
2014-10-08 15:22:58
703
转载 QMutex 与 QMutexLocker
如果您的程式只是一個單執行緒,單一流程的程式,那麼通常您只要注意到程式邏輯的正確,您的程式通常就可以正確的執行您想要的功能,但當您的程式是多執行緒程式,多流程同時執行時,那麼您就要注意到更多的細節,例如在多執行緒共用同一物件的資料時。如果一個物件所持有的資料可以被多執行緒同時共享存取時,您必須考慮到「資料同步」的 問題,所謂資料同步指的是兩份資料的整體性一致,例如物件A有 name與id兩個屬性...
2014-08-08 09:39:33
1020
转载 Qt标准对话框之QMessageBox
好久没有更新博客,主要是公司里面还在验收一些东西,所以没有及时更新。而且也在写一个基于Qt的画图程序,基本上类似于PS的东西,主要用到的是Qt Graphics View Framework。好了,现在还是继续来说说Qt的标准对话框吧! 这次来说一下QMessageBox以及类似的几种对话框。其实,我们已经用过QMessageBox了,就在之前的几个程序中。不过,当时是大略的说了一下,现在...
2014-07-30 17:36:56
108
转载 堆栈的缓冲区溢出
我们在做项目的过程中遇到过一个问题:打开底层板卡,对板卡进行读写的时候,板卡的句柄莫名奇妙改变了,而我们没有显式改变过它。 其实这是一类问题,就是局部变量莫名其妙被修改。这是由于堆栈的缓冲区溢出造成的,主要现象是:1.某些局部变量莫名其妙被改 2.函数返回的时候崩溃 主要原因是:1. 数组越界 2.某些缓冲区拷贝函数如 sprintf ,strcpy,memcpy缓冲区溢出,在st...
2014-07-30 17:33:35
2831
原创 qt xml的读写以及修改
最近做项目需要做很多零散的配置写入文件,首先想到xml文件的存储。搜索了很多相关的文章,看的我有点乱,所以自己总结一下。这里由于存储数据不大,所以用Dom方式进行读写xml。这里我在写入项目之前,首先写了一个简单的例子: 本次用到xml操作有三个写入,读取,修改。下面是我写的测试代码,代码都是经过运行测试的,可用。1、写入测试代码:// 1. 创建节点,将其写入...
2014-07-30 17:18:53
1098
原创 linux启动流程
1 linux启动流程 1.1 硬件启动顺序 1.2 操作系统启动顺序 第一步、加载内核操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。 第二步、启动初始化进程 内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境。由于init是第一个运行的程序,它的进程编号(...
2014-07-08 10:02:38
100
原创 linux之sed用法
linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一...
2014-06-23 15:39:26
82
转载 Qt获取控件位置,坐标总结
总结的结果是:QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标。 总结一:经过试验,QMouseEvent::globalPos() 和 QCursor::pos()效果一样,但是Qt帮助文档说不一样,可是我获得值确实相同的。QCursor::pos() == QMouseEvent::globalPos() 都是全局坐标; 总结二:将button:...
2014-06-06 14:42:10
5367
转载 【转载】【原】QPushButton 的样式表代码总结
最近刚开始学做qt界面,网上很多例子。自己摸索后,才会有更深刻的总结。 方法1:对QPushButton的美化,很多人都用setFlat(),将QPushButton扁平后,再美化。但是它有一个缺点,就是无法再通过SetStyleSheet()对它上色。除非用QPalette:Button系统的颜色。这个就不太方便了。 方法2:或者网上说的QLinkButton,但是它无...
2014-05-14 19:48:49
2231
转载 【转】Qt实现具有反锯齿的圆角窗口:不规则窗口
在Qt里实现这个功能一点也不难:1. 使用Photoshop做出不规则窗口效果,或者使用反锯齿功能在Widget上绘制背景,就是普通的绘图。2. 创建主窗口widget,设置他的 window->setWindowFlags(Qt::FramelessWindowHint); window->setAttribute(Qt::WA_Transl...
2014-05-14 19:48:02
639
转载 【转载】【译】QFormLayout简介
QFormLayout类通过管理输入控件和他们相关联的标签实现布局。 QFormLayout是一个方便的布局类,它将上面的控件分成两列布局。左栏包括标签,右列则是那些值控件(QLineEdit,QSpinBox等)。 传统上,这样的两栏式布局形式采用QGridLayout实现。 QFormLayout是更高级别的替代方案,提供了以下优点: 支持不同操作系统,有不同的外观。 ...
2014-05-14 19:45:32
292
转载 【转】QPushButton的背景图片和文字同时显示
自定义QPushButton,对于QCustButton.cpp文件中的paintevent事件重写如下,就可以同时绘制图片和显示文字了。 void QCustButton::paintEvent(QPaintEvent *event){ QPushButton::paintEvent(event) ; QPainter painter(this) ; QPixmap...
2014-05-14 19:44:37
1362
转载 system(执行shell 命令)
system(执行shell 命令) 相关函数 fork,execve,waitpid,popen 表头文件 #include<stdlib.h> 定义函数 int system(const char * string); 函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所...
2014-04-03 11:14:20
3955
原创 心的感悟
人和人相遇,靠的是一点缘分人和人相处,靠的是一点诚意知音是贴切的默契知己是完美的深交这个世界上没有谁对不起谁,只有谁不懂得珍惜谁。男人的魅力不在于有多少钱,长的有多帅,而是遇事有多大担当。女人的魅力不在于长的多漂亮,而是有温柔善良的性格和一颗宽容的心!生活中,无论亲情、友情还是爱情,自然而然留在身边的,才是最真,最长久的。真正的耳聪是能听见心声,真正的目明是能看透心灵。看到,不等于看见;看见,不等...
2014-03-27 15:31:03
191
原创 一个人
一个人的内心,要像一捧清澈的水。风来,只是一道道涟漪,终究会归于平静;雨落,只是一些些涌动,终究会落幕成寂;云过,只是一道道风景,终究会成为记忆。守候一片自己的领域,无关尘世,无关风月,只是一种善良,一种责任,一种深深的爱恋。...
2014-03-18 14:25:36
72
原创 dmg文件怎么打开
最近遇到了以dmg结尾的文件,着实把我给忙着了,之前没有遇到过这种后缀名的文件,查询了下,总结四种方法分享给遇到此类问题的朋友么,以后大家就不会再有 dmg文件怎么打开,如何打开dmg文件,dmg格式用什么打开 这些疑问了。dmg文件怎么打开? dmg文件是苹果系统的安装文件,一般只有在苹果系统(MAC)下才能打开。dmg文件是一种压缩文件格式,是MAC系统上的一个镜像文件,如果你使用的是苹果机...
2014-03-18 14:22:56
4292
原创 QT QNetworkAccessManager+QNetworkReply
QtWebkit problems with custom QNetworkAccessManager+QNetworkReplyHiI have run into a mysterious issue with QNetworkAccessManager and/or QtWebkit. Using qt 4.6.2 with vs2008.My app uses webkit to p...
2014-02-27 09:08:42
422
原创 JAVA语言中冒号的用法
author : aoyousatuo/傲游洒脱from : http://blog.sina.com.cn/aoyousatuo 近来由于本人要介入android平台的开发,所以就买了本JAVA语言的书学习。学习一段时间来,我的感觉是谭浩强就是厉害,编写的《C编程语言》系列丛书不愧是经典。书中对C语言的介绍既系统又全面。几乎C语言规范的每一个技术细节都可以介绍到,而且全书给人的感觉就像做...
2014-02-25 15:45:27
372
原创 基于C++的通用桌面应用程序框架(附SVN地址)
在ItEye沉寂了好一阵,最近在开发一套通用的基于C++的桌面App框架,请各位多提提意见,看该项目是否可为。 A C++ GUI Framework Written by Like "Java"(Easily),Run as "C++" (High-Performance),And Show Perfect!(暂时想的宣传词) 附件中“GQT设计文档.rar”是目前完成的功能模块的设计文档,R...
2014-02-24 15:38:16
1539
原创 QGraphicsView类
QGraphicsView提供一个显示QGraphicsScene内容的窗口,该窗口可以滚动,可以在构造时候把场景对象作为参数,或者之后使用setScene()来设置view的场景,然后调用了show()函数后,view就可以默认的在场景的中心,显示item,例如QGraphicsScene scene;scene.addText("Hello, world!");QGraphicsView vi...
2014-02-18 18:55:10
140
原创 Qt中使用setStyleSheet对按钮进行外观设置
Qt中使用setStyleSheet对按钮进行外观设置 字体颜色的设置一般时以下两种方案:(1)属于QWidget子类的一些控件可以直接使用样式表,例如label->setStyleSheet("color:white");(2)不属于QWidget子类的控件可以考虑设置其前景色,例如各种ViewtreeWidgetItem->setForeground(0,QBrush(QC...
2014-02-17 15:56:10
832
转载 【转载】【转】QImage 图像格式小结
嗯,这个QImage的问题研究好久了,有段时间没用,忘了,已经被两次问到了,突然有点解释不清楚,我汗颜,觉得有必要重新总结下了,不然无颜对自己了。 图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的补0。 (因为我们使用的是32操作系统,因此数据是按照32位对齐的,所以每行的字节数必须是4的整数倍也就是说每行的数据位必须是32位的整...
2014-01-24 10:34:42
105
原创 Linux下*.tar.gz文件解压缩命令
1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: 命令格式:tar -zxvf 压缩文件名.tar.gz 解压缩后的文件只能放在当前的目录...
2013-12-18 12:17:26
59
原创 QT读取中文文件
虽然C++标准中有了文件读取的相关类,也很好用,但是在涉及到QT编程的时候却用起来不方便了,因为QT本身很多组件都是关联的自身的QString类型的字符串,所以再用C++本身String类型的时候就不是那么方便了,需要进行转化,这样给程序带来了复杂度,同时也带来了转化的开销,所以如果用QT开发,可以就用它本身所带的这些类型进行处理,形成一个系统,便于数据在程序之中的交互和共用。 QT很好,但是...
2013-11-13 11:16:08
189
原创 设置程序启动时显示图片QSplashScreen
QApplication app(argc, argv); QSplashScreen *splash = new QSplashScreen; splash->setPixmap(QPixmap(":/images/splash.png"));//设置图片 splash->show();//显示图片 Qt::Alignment topRight =...
2013-11-13 11:14:23
582
原创 QT中的常用数据结构
QString代码中使用最多的莫过于string,QString提供了丰富的接口,使用方便,以下为常用接口:size()isEmpty()data()toUInt()toInt()toFloat()replace()remove()left()right()mid(first_index, length)arg()可以方便的实现snprintf的功能,arg最多为9个section(QRegExp...
2013-11-13 11:11:58
920
原创 C/C++中 const,extern,static,volatile的使用
1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该con...
2013-11-13 11:08:44
110
原创 SHA1 加密
#include <string>#include <string.h>std::string SHA1(std::string s){ const char HEX_CHAR[]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; co...
2013-11-08 15:42:25
88
原创 MD5 加密
从网上摘录的,留下来方便以后使用。//MD5.h#ifndef BZF_MD5_H#define BZF_MD5_H#include <string>#include <iostream>// a small class for calculating MD5 hashes of strings or byte arrays// it is not meant to be ...
2013-11-06 15:31:56
83
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人