白手梦想家的专栏

多做一些没有利益相关的“闲事”,为编程环境的改善做贡献。

Windows下创建软硬链接

定义 硬链接:只要文件本身或者任意一个硬链接存在,则文件始终存在。 软链接:只要源文件存在,则符号链接有效;源文件不存在,符号链接无效。软链接,用符号S表示,可以代表Soft(软),也可以代表Symbol(符号)。 软硬链接需要文件系统支持。而快捷方式是应用层的一种文件,不被文件系统支持。直接o...

2019-04-13 08:47:14

阅读数 12

评论数 0

常见编程术语解释

最近在看《windows网络编程》一书,里面出现了一各名词:“重叠IO”。弄明白原理才发现原来是异步IO的意思,显然是个坑,弄得人刚开始就一头雾水。最进正好再看MSDN的文件模块,上面就清清楚楚地写着“异步IO也叫重叠IO”,参考:同步/异步IO。一些技术书籍对技术解析的细节处理的还不到位,甚至就...

2019-03-13 10:26:59

阅读数 170

评论数 0

编辑器推荐:Visual Studio Code(VSCode/VSC)

简介 Visual Studio Code(以下简称vscode),是微软的一款轻量且强大的编辑器,支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他...

2019-02-28 15:50:55

阅读数 96

评论数 0

Git学习资料

Git使用简易指南 Git北京

2019-02-28 15:20:11

阅读数 39

评论数 0

Qt填坑日记

Q_ASSERT里面不要放需要执行的语句,否则release下此语句不会被执行。

2018-12-09 21:21:31

阅读数 31

评论数 0

解决使用Qt Graphics View framework实现地图时,设置鼠标手势失败的问题

问题提出 地图在最下层,图元层在上层。假设当前状态是漫游,需要将鼠标手势设置为手型。不管怎么设置发现鼠标手势都无法保持手型。原因是鼠标手势由上层的图元当前的鼠标手势来决定。地图在下层,如何设置鼠标手势才能保持鼠标形状不受上层图元影响呢? 解决方案 解决方法是在最顶层添加一层鼠标手势辅助层,添加辅助...

2018-12-08 20:08:17

阅读数 51

评论数 0

Qt事件传递相关问题

事件传递 涉及到深层次窗口结构或者窗口封装时,经常会遇到上层窗口接收不到事件的问题。排除这类问题需要了解窗口间的事件传递过程。 应用程序产生事件时,事件会先派发给父窗口,由父窗口在内部派发给子窗口,子窗口会进一步传递给子窗口的子窗口,直到遍历到最后没有子窗口的窗口对象,进入子窗口的用户事件处理函数...

2018-11-27 20:05:43

阅读数 167

评论数 0

解决Qt graphis-view框架中,上层图元接收hover事件导致底层图元接收不到的问题

问题重现 两个图元,一个在上面,名为item_up,一个在下面,名为item_below。 当item_up->setAcceptHoverEvents(true)时,item_up可以接收到鼠标悬停事件(hoverEnter,hoverMove,hoverMove)...

2018-11-16 14:10:17

阅读数 144

评论数 0

Qt-VS开发:解决VS中使用带有信号槽的导出对象库时,信号槽不工作的问题

解决办法 需要把导出库的头文件加入到调用此动态库的项目中,只加入到搜索目录中是不行的。 加入到项目中后,VS会自动生成moc_xxx.cpp文件,可以在GeneratedFiles/Debug或GeneratedFile/Release中找到,必须有文件才能实现信号槽。 ...

2018-11-02 16:25:48

阅读数 54

评论数 0

QWidget::size()和QResizeEvent::size()不一定相同!

问题发现 QGraphicsView中将画布设置为和视图相同大小需要使用e->size(),用this->size()会出现滚动条! 测试 测试对象:QWidget 测试结果:相同 测试对象:QScrollAre...

2018-11-01 20:53:21

阅读数 511

评论数 0

Qt应用程序发布:Qt应用程序添加版本版权生产商等信息

在QMake Manual手册中搜索关于QMAKE_TARGET内容可以看到有如下QMake变量: QMAKE_TARGET_COMPANY:用于指定生产商 QMAKE_TARGET_DESCRIPTION:用于描述应用程序 QMAKE_TARGET_COPYRIGHT:用于声明版权 ...

2018-11-01 12:13:57

阅读数 318

评论数 0

Qt开发技巧:编写.pro文件,在构建流程中加入命令行的方法

编写.pro文件, 添加QMAKE_PRE_LINK += “cmd”,可以在编译前执行命令cmd; 添加QMAKE_POST_LINK += “cmd”,可以在编译后执行命令cmd。

2018-10-30 12:16:20

阅读数 535

评论数 0

文本编码解释

** 等长编码对于英文来说浪费空间,所以出现了变长编码UTF系列,如UTF8,UTF16,UTF32。 UTF8的编码对象是整个Unicode字符集,所以可以表示所有国家的语言而不会乱码,所以叫“万国码”。所以网络传输文本一般使用UTF-8编码,如网页,这样可以在不同的电脑上看到相同的文本...

2018-09-27 22:51:29

阅读数 62

评论数 0

Qt编写pro文件需要注意的地方

.pro文件中”./”表示的目录是构建目录,即build目录下。$$PWD指向的目录是.pro文件所在的目录。一般使用后者,勿混淆。

2018-09-01 22:50:41

阅读数 60

评论数 0

一句话开发箴言

防止自己给自己挖坑。设计软件结构时,多留一点退路,多一点冗余。 提取、精简信息,建立清晰的模块结构。 多定接口,保证每个模块都能独立成dll。 完善错误处理,打印详细日志。...

2018-09-01 19:08:32

阅读数 70

评论数 0

Qt创建浮动子窗口

想要实现子窗口在父窗口上方浮动显示,点击父窗口,子窗口不会被父窗口覆盖,有两种方法: 1、使用QDialog,使用show()显示窗口。 2、子类继承自QWidget,并设置窗口标志Qt::Tool。...

2018-08-25 12:30:20

阅读数 1250

评论数 0

Qt全局信号通信

应用场景分析 Qt开发中经常会遇到作用域跨度比较大的对象间通信的场景,如果直接使用信号槽通过对象指针直接连接,首先需要将对象指针互相暴露出来,其中可能涉及到各种复杂的传递过程,导致程序混乱。一种解决方案是建立全局的信号中转站,实现全局范围内的便捷通信。 功能实现 设现有对象A,需要将信号si...

2018-08-22 20:26:32

阅读数 595

评论数 0

Qt使用导出类报错:error C2491: “ZMapWidget::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义

在使用一个继承自QObject带有Q_OBJECT宏的导出类时,编译报错:不允许 dllimport 静态数据成员 的定义。 原因是自动生成的moc文件带有静态函数,无法导出。 1、在Qt中的解决办法是不将导出宏定义成Q_DECL_IMPORT。 #if defined(ZMAP_LIBRA...

2018-08-19 13:52:31

阅读数 1566

评论数 1

OSG学习笔记1 - 环境搭建

一、OSG的开发模式说明 OSG是一个开源C++库,可以使用Visual Studio或者Qt作为开发环境来开发。 二、使用OSG准备步骤 编译OSG。为什么需要编译呢? 1、选择你需要的功能。功能模块很多,不一定要全部编译。 2、在目标平台上编译,得到目标平台的可靠的运行库,所以它是支...

2018-04-07 12:10:48

阅读数 60

评论数 1

Qt: QTableView如何获取(行)选中、行切换信息

情景:做一个信息表格,需要多个Model切换,必须用QTableView,而不能用QTableWidget,因为后者不可以进行setModel()。方案: QTableView和选择有关的的信号有:void activated(const QModelIndex &index) void...

2017-07-25 22:13:58

阅读数 6532

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭