Qt
风斜夜
这个作者很懒,什么都没留下…
展开
-
qInstallMessageHandler把输出信息写入文件和显示在调试窗
qInstallMessageHandler来实现输出详细日志,输出文件名,行号,所在函数及事件,并写入文件。最后调用系统原来的函数,使信息像之前一样输出到调试窗口,便于开发。 源码QtMessageHandler gDefaultHandler = NULL;//在其它地方调用qInstallMessageHandler设置新的输出函数,但保存原来的函数...原创 2018-10-20 00:38:40 · 2855 阅读 · 2 评论 -
repaint与update的区别
repaint会立刻调用paintEvent重绘,而update是把绘制事件加入主事件循环。Qt文档:[slot] void QWidget::repaint()Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget i...原创 2019-05-31 09:39:10 · 1222 阅读 · 0 评论 -
Qt的TCP粘包分包
粘包只可能出现在流传输中,TCP是基于流传输的,而UDP是不会出现粘包,因为UDP是基于报文的,也就是说UDP发送端调用几次write,接收端必须调用相同次数的read读完,每次最多只能读取一个报文,报文与报文是不会合并的,如果缓冲区小于报文长度,则多出来的部分会被丢掉。TCP不同了,它会合并消息,并且以不确定方式合并,这样就需要我们去粘包处理了,TCP造成粘包可能是发送端也...原创 2019-04-30 23:42:54 · 3517 阅读 · 0 评论 -
客户端七牛方式上传文件
上传流程在七牛云存储中,整个上传流程大致分为以下几步: 业务服务器颁发上传凭证给客户端(终端用户) 客户端凭借上传凭证上传文件到七牛 在七牛获得完整数据后,发起一个 HTTP 请求回调到业务服务器 业务服务器保存相关信息,并返回一些信息给七牛 七牛原封不动地将这些信息转发给客户端(终端用户) 注意:回调到业务服务器的过程是可选的,它...原创 2019-04-25 00:38:40 · 1762 阅读 · 0 评论 -
Qt两种线程方式的实现与优缺点对比(及信号槽连接方式)
Qt的线程实现主要两种方式:子类化QThread和对象moveToThread。子类化QThread实现方法: 继承QThread 重写run 其它线程里使用start函数来启动此线程。缺点线程中的对象必须在run函数中创建。线程无法接收信号,只能发送信号。对象moveToThread实现方式:新建类假设为Worker,在类的槽函数里实现逻...原创 2019-04-27 22:07:50 · 5692 阅读 · 4 评论 -
Qt编译debug和release版本--CONFIG(debug,debug|release)
在pro文件里添加:INCLUDEPATH += depend/opencvINCLUDEPATH += depend/opencv2debug {LIBS += -lopencv_core2413d}release {LIBS += -lopencv_highgui241}如果打开看项目生成的makefile文件,会发现Makefile.Debug和Makefi...原创 2019-04-27 16:29:55 · 9792 阅读 · 1 评论 -
qt5 信号槽新语法遇到重载的问题
假如使用了qt5 信号槽新语法: QObject::connect(&newspaper, &Newspaper::newPaper,&reader, &Reader::receiveNewspaper);信号有重载的时候,比如两个信号void newPaper(const QString &name, const QDate ...原创 2019-03-07 15:11:50 · 2374 阅读 · 1 评论 -
使用PortAudio获取音频和lame库压缩成mp3
PortAudioPortAudio是一个免费、跨平台、开源的音频I/O库。得到的数据是PCM数据。重要参数:sampleFormat:精度(采样宽度),一秒钟内对声音信号的采样次数。sampleRate:音频采样率 ,比如16bit,表示可以用2的16次方=65536种数据来区分一个音符。framesPerBuffer : 回调的点数,采集到多少个点调用回调函数。使...原创 2019-04-18 00:07:53 · 1192 阅读 · 0 评论 -
Qt窗体透明(主窗体与子窗体)
一、主窗体与子窗体全透明 setWindowOpacity(0.5);setWindowOpacity(0.5); 取值范围为:0.0 - 1.0,默认值为1.0,全透明为0.0,不透明则为1.0。 二、主窗体透明(子窗体不透明)主窗体采用背景色。在Qt5.6下:发现要把主窗体设置为无边框才可以生效,否则没有透明效果。Qt::WindowFlags ...原创 2018-12-05 21:47:22 · 3416 阅读 · 0 评论 -
Qt解析JSON数组
JSON 数组在中括号中书写,以逗号分隔。JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。比如:[ { "id": "1", "name": "aa" }, { "id": "2", "name": "原创 2018-12-08 13:15:12 · 10707 阅读 · 2 评论 -
Windows获取系统托盘图标
对于Win7系统,程序的托盘图标最终是放置在和XP一样的ToolbarWindow32工具条窗口,但是有两个地方,同样是ToolbarWindow32工具条窗口,父窗口是不一样的。在右下角可见区域,ToolbarWindow32工具条窗口的父窗口是SysPager窗口,遍历方法同XP一样。对于掩藏的ToolbarWindow32工具条窗口,必须通过点击桌面右下角的可见区域左边的...原创 2018-12-01 18:50:17 · 3595 阅读 · 1 评论 -
Windows获取状态栏的窗口及图标
实现代码目录实现代码说明参数:GW_OWNER 获取图标的方法Qt转换HICON为QPixmap写回调函数://获取到一个窗口就会调用一次BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam){ /* * Remarks The EnumWindows funct...原创 2018-12-01 00:27:04 · 4562 阅读 · 5 评论 -
qss对QComboBox的Popup窗口的item的样式修改无效的解决方法
按照qt帮助里的例子使用qss对QComboBox样式修改时,发现其Popup窗口的item的样式根本没反应。网上找了些方案。1.qss不使用QComboBox QAbstractItemView::item,而是直接使用QComboBox::item,无效。 2. 改变其默认的delegate:在代码里添加 QStyledItemDelega...原创 2018-11-28 21:30:56 · 3005 阅读 · 0 评论 -
QSetting使用及读写中文
简述使用QT QSettings读写配置文件,来保存程序的初始值。在qt 5.9.3下使用的情况。简单使用//1.创建QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat, this);//2.更新值 // key,valuesettings->se...原创 2018-10-20 01:01:07 · 7396 阅读 · 1 评论 -
使用zinnia库进行中文手写识别
研究手写识别的时候看到了zinnia,就进行了测试,存在问题是zinnia书写依赖笔画顺序,而且没有找到更多的可以用于训练的数据。zinnia介绍 zinnia是一个基于svm的开源的手写识别库。zinnia简单地接收用户笔划作为一系列坐标数据,并输出按SVM置信度排序的n个最佳字符。为了保持可移植性,Zinnia没有任何渲染功能。此外,Zinnia还提供训练模块,使...原创 2019-08-20 15:04:20 · 2602 阅读 · 5 评论