- 博客(25)
- 资源 (10)
- 收藏
- 关注
原创 Qt5中文乱码问题
Qt5取消了Qt4中的以下代码QTextCodec::setCodecForTr(QTextCodec::codecForLocal());QTextCodec::setCodecForTr(QTextCodec::codecRForName("GB18030"));QTextCodec::setCodecForCString(QTextCodec::codecForLocal());Qt5中的
2017-04-17 16:53:06 2327
原创 Qt实现Socket断线重连机制
简述创建 Thread 类 继承 QThread,实现用单独的线程接收 socket 数据。当 socket 与主机断开时,自动触发 OnDisConnect() 函数,从而在 run() 中执行自动重连代码段。想主动断开 socket 连接时,把 m_isThreaStopped 设置为 true 即可。简述类的源码类的使用效果图类的源码Thread.h#ifndef THREAD
2017-04-06 12:01:54 21611 20
原创 Qt自定义分隔符解决TcpSocke半包、粘包问题
自己写的方法,分享在此,供大家参考。有关如何把socket断线重连以及如何将其封装在一个独立的线程中,并让它可以接收数据,请参照我的下一篇博客:Qt实现Socket断线重连机制//分隔符:****//传输字符串样式:单个包,以****结尾QString="白日依山尽,黄河入海流。****"//多个包粘在一起则字符串中含有多个****分隔符QString="白日依山尽,黄河入海流。****白日
2017-04-06 10:58:53 2886
原创 程序员解读五险一金
五险定义养老保险(企业 + 个人 共同缴纳)医疗保险(企业 + 个人 共同缴纳)失业保险(企业 + 个人 共同缴纳)工伤保险(企业缴纳)生育保险(企业缴纳)查询所在市的社会保险网上服平台以北京市为例,网址是http://www.bjrbj.gov.cn/csibiz/indinfo/login.jsp使用养老保险使用条件:一是达到法定退休年龄; 二是累积缴纳养老保险费满15年。
2017-04-27 10:53:50 3405
原创 QPainterPath 用法
QPainterPath 中的 Path 可以理解为图形的轨迹、边界线。QPainterPath的对象是通过创建边界线的轨迹而形成的一个图形。该对象交由 QPainter 类进行绘制绘制 QPainterPath path; path.moveTo(20, 80); path.lineTo(20, 30); // cubic 立方体 path.cubicTo(80, 0, 5
2017-04-26 15:21:09 10756
原创 vs2013设置快捷键、快捷输入(番茄助手)
参考资料: http://www.cnblogs.com/greenerycn/archive/2011/05/31/2065221.html http://blog.csdn.net/lzm18064126848/article/details/50827065功能快捷键设置此方法可对vs2013上的任何功能设置快捷键,包括安装的一些插件,如VA助手(番茄助手),Qt插件。具体步骤如下:1
2017-04-26 10:39:09 7113 1
原创 Qt 文件操作
文件输入创建文件创建.iniQString sFilePath = "E:\\test\\test.ini";QFile file(sFilePath);创建.textQString sFilePath = "E:\\test\\test.text";QFile file(sFilePath);打开文件 QString sFilePath = "E:\\test\\test.ini
2017-04-25 11:09:45 499
原创 Qt Graphics View Framework
Item Coordinates(坐标)每个Item都有自己的坐标系Item响应鼠标消息是根据鼠标的坐标是否位于item坐标系之内。item的边框算作item的一部分每个子Item的坐标都是基于其父item的坐标。两个坐标系的(0,0)之差,就是这两个坐标系之间进行坐标转换的关键值。Scene Coordinates(坐标)Scene 坐标表示了所有item的基坐标(base coordi
2017-04-25 10:49:11 483
原创 QGraphicsView用法总结
用以展示QGraphicsScene对象QGraphicsView可以展示QGraphicsScene的全部,也可以展示其一部分 QGraphicsScene scene; scene.addText("Hello, world!"); QGraphicsView view(&scene); view.show();设置视图中间点centerOn();确保某一点在视图中可见ensur
2017-04-24 14:51:21 30240 2
原创 深入研究Qt多线程
参考资料http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-1/http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-2/说明:在多线程程序中,线程分为主线程(main thread)和工作线程(worker thread
2017-04-21 18:13:39 935
原创 如何研究一个大的工程
这个工程是用来干嘛的?工程分几个模块,每个模块用来干嘛的?具体到每个模块,它在操作流程的哪个环节用到了,用来做什么?哪个功能在哪个类里面?
2017-04-19 14:30:48 373
原创 C++编码风格与规范
命名约定一般命名原则命名应该含义明确,不要为了节省空间使用缩写。int n; // Bad - 无明确含义的单字母名称string cstmrName; // Bad - 非约定俗成的缩写int width, height; // OK - 含义明确int numColors; // OK - num属于约定俗成的缩写for (int i = 0; i < 100; ++i) // OK -
2017-04-19 11:55:43 3830
原创 怎么完美地完成编程任务
怎么完成编程任务路线 路线,可以按软件的业务流程,划出一条路线 方法 方法,一般是按照“业务流程–>技术细节” ,思考每一阶段的业务流程改用怎样的技术去实现资源 明白有哪些资源,遇到问题时最快的速度找到解决办法沟通 达到一定的任务节点或下班时,或第二天刚上班时
2017-04-19 09:31:16 451
原创 Qt窗口调度
//main.cpp#include <QApplication>#include "tcp.h"#include "atm.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); Atm *w = new Atm; return a.exec();}//atm.h//主窗口#ifndef ATM_
2017-04-18 13:29:16 550
原创 Qt设置应用程序的字体
int main(int argc, char *argv[]){ QApplication a(argc, argv); //宋体,12号字体 QFont font("ZYSong18030",12); a.setFont(font); return a.exec();}
2017-04-13 11:42:01 2766 2
翻译 Qt的编程风格与规范
参考资料:https://wiki.qt.io/Qt_Contribution_Guidelines https://wiki.qt.io/Qt_Coding_Style https://wiki.qt.io/Coding_Conventions https://community.kde.org/Policies/Library_Code_Policy https://wiki.qt.io
2017-04-11 16:22:59 7889 1
转载 如何用Markdown编辑器写博客
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-04-11 11:17:13 445
原创 该文件包含不能在当前代码页(936)中表示的字符。
错误提示:该文件包含不能在当前代码页(936)中表示的字符。 错误提示:该文件含有xxx换行符 解决办法:1、点击错误提示,打开报错的文件。2、用鼠标左键单击一下该报错文件位于编辑区的文件标签卡,以mainwindow.cpp为例,单击位置如下图:3点“文件”–>“高级保存”4、根据错误提示,选择正确的格式保存
2017-04-08 11:15:10 19898 1
原创 QString常用成员函数
QString str1,str2;//====================================//拼接 str1.append(str2);//把str2加到str1后面 str1.prepend(str2);//把str2加到str1前面//====================================//截取 str1.mid(1,2)//从索引1
2017-04-06 18:44:42 11319 1
转载 VS2013的Release模式下进行调试
原博链接:http://blog.csdn.net/haizimin/article/details/50262901 在有的情况下,我们可能不能直接利用Debug模式进行程序调试,那么如何在Release模式下进行程序调试呢?一、将项目属性设置为Release,生成—>配置管理器:二、按Alt+F7,弹出属性页进行设置:
2017-04-06 12:29:02 1248
原创 DuiLib怎么建立一个可以关闭自己并释放内存的窗口
void CDlgAdvice::Notify(TNotifyUI& msg){ if (msg.nType == COUI_MSGTYPE_CLICK) { //关闭按钮 if (msg.pSender->GetName().Compare(_T("BtnClose")) == 0) { //::PostMe
2017-04-03 18:23:23 3779
原创 Qt获取屏幕分辨率
QDesktopWidget* desktopWidget = QApplication::desktop(); //获取可用桌面大小 QRect deskRect = desktopWidget->availableGeometry(); //获取设备屏幕大小 QRect screenRect = desktopWidget->screenGeometry();
2017-04-03 18:18:54 2314
原创 C++中的重载、隐藏和重写
1、重载(overload) 同一个类里面,函数名和返回值类型相同,函数的参数类型或参数的个数不同。class A{public: void test(int i); void test(double i); void test(int i,double i); int test(int i)//错误,不构成重载};2、隐藏 只要派生类的函数和基类的函数重名
2017-04-03 17:55:56 506
Qt 桌面软件 艾宾浩斯记忆计划2.0
2017-11-24
Qt 开源代码 艾宾浩斯(Ebbinghaus)记忆 软件
2017-11-11
Qt QWaitConditon 实现生产者消费者 (源码)
2017-09-10
Qt msvc 调试器
2017-05-12
The Art of UNIX Programming-中文版[UNIX编程艺术].(美)理曼德
2016-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人