摘要: 使用Qt有三个月了,一直都是手写UI代码,不用Qt Designer,是因为我发现我拖动进去的widgets或者layout,都是固定大小的,不能随着窗口缩放。而手写的代码就没有这样的问题。于是我就认为是Qt Designer的bug,苦逼的手写了好多的界面代码。今天我却发现我错了……在《C++ GUI Qt4编程(第二版)》的第19页里面,有些没有被特殊强调但是很重要的细节:省略前文:3。单击窗体中的空白,取消对所有已选中项的选择,然后单击Form→Lay Out Vertically。(这一步就将所有的项放入到一个Layout里面了,并且可以跟随窗口缩放了。)。4。单击Form→Adjus 阅读全文
posted @ 2011-05-11 21:32 白小虎 阅读(3176) 评论(2) 推荐(3) 编辑
摘要: 首先,我希望游戏中数据可以不光使用excel来制作、保存。我们目前的问题,可以优化的地方有两个:1.每种数据类型的管理器,都放在总管理器里面,作为一个成员变量,使用的时候,从总管理器里面直接拿指针。这里就存在一个问题,既然作为成员变量,新添加数据管理器,就会修改总管理器的头文件,然后所有使用管理器的地方,都需要重新编译。如果将管理器存放在一个容器里面,然后在初始化的地方动态添加,只要加一个查询接口,就不用在新添加管理器的时候,重新编译其他的依赖数据管理器的文件了。这里的进步是减少重新编译的时间,折中就是从o(1)的时间变为o(logn)的时间,我认为这个是优化,并且没有什么性能损失和代码优雅方 阅读全文
posted @ 2011-04-14 00:43 白小虎 阅读(433) 评论(0) 推荐(0) 编辑
摘要: AnkhSVN是集成到Visual Studio里面的一个SVN插件。使用起来很直观,有SVN使用经验的人,基本上就是安装后就可以直接使用了。在Visual Studio里面集成SVN插件,比在windows资源管理器里面使用SVN,有一些方便的地方。比如:1。重命名。不使用插件,重命名之后,旧文件会显示为missing,而新文件要手动添加到SVN,容易遗漏。使用插件,插件会自动将文件标示为rename。2。新增、删除文件。不使用插件,新增文件要手动添加,删除文件会显示为missing,跟上一条一样的容易产生漏签的问题。使用插件就都会自动的将文件标记为Added或者Deleted。在AnkhS 阅读全文
posted @ 2011-03-19 23:23 白小虎 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: 首先是传送门:Google cpp style guide:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml中文版:(汉化版没有 C++0x 部分)http://code.google.com/p/zh-google-styleguide/主要是讲一下其中的一条:项目内头文件应按照项目源代码目录树结构排列, 避免使用 UNIX 特殊的快捷目录 . (当前目录) 或 .. (上级目录). 例如, google-awesome-project/src/base/logging.h 应该按如下方式包含:#include “b 阅读全文
posted @ 2011-03-15 12:38 白小虎 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 这几天在试着使用QT做编辑器,然后打算使用Irrlicht作为渲染引擎。结果在集成的时候遇到了问题。使用了Irrlicht论坛里面有人提供的QIrrlichtWidget,结果什么都画不出来。仔细跟踪了一下,结果是IDirect3DDevice9的Present函数返回了E_FAIL。查了下文档,文档只说是内部错误,没有说具体会是什么原因造成的。网上找原因,按照大家说的使用D3D的debug模式,看到了如下的输出信息:Direct3D9: (ERROR) :GetClientRect Failed ?Direct3D9: (ERROR) :GetClientRect Failed ?Direc 阅读全文
posted @ 2011-02-28 23:45 白小虎 阅读(1585) 评论(0) 推荐(0) 编辑