06 2015 档案

摘要:其实有这个需求很好理解,就是我有个project manager,上面的TreeWidgetItem都表示一个工程,我需要右键创建新的工程,或者删除。这个在很多普通软件中也见得多。在弹出的菜单中加入相应的QAction就行了。1 QMenu* pContextMenu = new QMenu(thi... 阅读全文
posted @ 2015-06-30 15:25 foo__hack 阅读(984) 评论(0) 推荐(0)
摘要:由于之间写过的一篇文章,Unix,windows,Mac里面的换行符不一样,导致处理也不一样,我现在要用QString以行分割(读取的文本文件的里面有换行符)。所以要通吃这三种换行符http://www.cnblogs.com/foohack/p/4125829.html用正则表达式QRegEx就可... 阅读全文
posted @ 2015-06-28 15:12 foo__hack 阅读(19905) 评论(0) 推荐(0)
摘要:编译QtPropertyBrowser的时候出错。要用moc来生成.moc文件。我好奇的是与之前的通过.h生成moc_xxx.cpp不一样。要用以下命令。一般来说是处理带Q_OBJECT宏的.h文件,但是下面不同了。moc qttreepropertybrowser.cpp > qttreeprop... 阅读全文
posted @ 2015-06-26 19:06 foo__hack 阅读(1760) 评论(0) 推荐(0)
摘要:我就想删除topLevelItem stackoverflow上是这样说的:http://stackoverflow.com/questions/9392051/how-do-i-delete-a-top-level-qtreewidgetitem-from-a-qtreewidgethttp://... 阅读全文
posted @ 2015-06-25 11:25 foo__hack 阅读(10610) 评论(0) 推荐(0)
摘要:gesture recognizer 是比较好的解法。洒家也有一个类似的算法,借鉴了原始手写ocr的思路来实现的。其实是写在 $1 gesture recognizer 之前的,但没有 $1 gesture recognizer 归纳得好,作者jacob还是我偶像。Realtime Gesture ... 阅读全文
posted @ 2015-06-24 10:15 foo__hack 阅读(8275) 评论(0) 推荐(0)
摘要:现时C++可以说是支持OOP范式中最为常用及高性能的语言。虽然如此,在C++使用OOP的编程方式在一些场合未能提供最高性能。 [1]详细描述了这个观点,我在此尝试简单说明。注意:其他支持OOP的语言通常都会有本答案中提及的问题,C++只是一个合适的说明例子。历史上,OOP大概是60年代出现,而C++... 阅读全文
posted @ 2015-06-24 10:03 foo__hack 阅读(2674) 评论(0) 推荐(2)
摘要:中国航天用的SpaceOS主要内容是仿造美国风河系统公司的VxWorks653(653是产品名,并非版本号)。先解释为什么用这个系统不用Linux:航天器的内存和CPU都非常弱,弱到什么程度呢:天宫一号的CPU是10MHz的,内存是2M,这种配置跑Linux比较费劲,虽然也并非不可能但要裁剪Linu... 阅读全文
posted @ 2015-06-24 09:56 foo__hack 阅读(1078) 评论(0) 推荐(0)
摘要:1、EXE本身就是个容器,它可以在ARM平台上包含ARM的native code执行,也可以在x86平台上包含x86的native code执行,本质上无差别(所以麻烦那些说EXE不能在ARM平台上运行的同学自删答案可以吗?)。2、APPX文件里并不包含字节码,而是各种架构的native code的... 阅读全文
posted @ 2015-06-24 09:53 foo__hack 阅读(983) 评论(0) 推荐(0)
摘要:其实你可以把显卡想象成另外一台机器。那么控制另外一台机器的办法,就是往它的内存里面写指令和数据。往一块内存里面写东西的办法无非就几种,1, 用CPU去做,那么就是用MMIO(Memory Mapped IO)把'显存' map到CPU寻址空间,然后去读写,2, 用DMA控制器去做,这里面有系统自带的... 阅读全文
posted @ 2015-06-24 09:50 foo__hack 阅读(4859) 评论(0) 推荐(2)
摘要:如jQuery,Bootstrap,AngularJs,这些都有min版本,代码更加精简,功能却相同。看了源代码,几乎不可读。这种事情的工具类型叫做“minifier”。请看传送门:Minification (programming)每个人的喜好风格不同,所以就不单独拿出一个工具来说了。做得好的mi... 阅读全文
posted @ 2015-06-24 09:46 foo__hack 阅读(1114) 评论(0) 推荐(0)
摘要:启动QQ的情况下,按截图快捷键(ctrl+alt+A),鼠标移动到要取色的地方即可看到,如下图:references:http://www.zhihu.com/question/20328538 阅读全文
posted @ 2015-06-24 09:44 foo__hack 阅读(2555) 评论(0) 推荐(0)
摘要:一个使用上的因素:JSON的结构更容易映射至一般语言的数据结构。XML和JSON的主要组成成分:XML是element、attribute和element content。JSON是object、array、string、number、boolean(true/false)和null。XML要表示一... 阅读全文
posted @ 2015-06-24 09:37 foo__hack 阅读(473) 评论(0) 推荐(0)
摘要:XML 跟 JSON 的圣战,或许会成为自 vim/emacs 圣战,cli/gui 圣战等等圣战以来的又一个圣战,而所有的圣战大抵都不会有结果,因为每方都有各自的道理,谁都不服谁。在我看来,XML 更适合数据定义,数据存储。它对数据的表达使得这个数据脱离你程序的上下文仍然存在意义并且可以被解读。所... 阅读全文
posted @ 2015-06-24 09:34 foo__hack 阅读(816) 评论(0) 推荐(0)
摘要:1. 在设计原则上,STL和Boost大体统一因为STL和Boost基本上都是标准委员会那批人在策划、审核和维护,所以口味上是相对接近的。但是因为Boost并不在标准中,或者说是下一代标准的试验场,所以库的种类要更多一些,手法也更加丰富一些。2. STL/Boost 针对 Developer 和 U... 阅读全文
posted @ 2015-06-24 09:26 foo__hack 阅读(8695) 评论(1) 推荐(1)
摘要:说几个STL的缺点吧,虽然都是在比较极端的情况下出现,但是对于一些大项目还是会遇到的1. 代码膨胀问题每一个实例化过的模板类,都会膨胀出一份独立的代码,比如std::vector, std::vector,编译后会产生两份代码,在VC2008下,每份代码大约是3-4kb,这是因为vector比较简单... 阅读全文
posted @ 2015-06-24 09:24 foo__hack 阅读(5674) 评论(0) 推荐(1)
摘要:1. “用Qt写的程序编译比MFC慢”的说法是错误的绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有类的设计,把没必要公开的声明放到私有头文件里,避免了编译时引入过多代码。而MFC没有这样的设计。至于... 阅读全文
posted @ 2015-06-24 09:20 foo__hack 阅读(688) 评论(0) 推荐(0)
摘要:假设一个场景:在写GUI程序的时候,如果GUI库和STL都提供了某个功能(比如容器字符串),应该如何在两个库之间选择?做法是分层,比如分为frontend+core。开发core的时候只用STL,保证平台可移植性,并且编译为动态库。开发GUI frontend的时候与UI库紧密结合,尽量不用STL,... 阅读全文
posted @ 2015-06-24 09:12 foo__hack 阅读(1266) 评论(0) 推荐(0)
摘要:先给一个参考文献:The RAM reported by the System Properties dialog box and the System Information tool is less than you expect in Windows Vista or in Windows X... 阅读全文
posted @ 2015-06-24 09:05 foo__hack 阅读(1263) 评论(0) 推荐(1)
摘要:1.直接找到文件拖进cmd里,路径就出来了。2.在文件目录的空白处,按住shift键,再点击右键,就出来再此处打开命令行窗口了。相关CMD.exe的加强项目:https://github.com/mridgers/clink,这样按Tab就能自动补全了。想用Linux下命令,却又不想安装cygwin... 阅读全文
posted @ 2015-06-24 08:57 foo__hack 阅读(923) 评论(0) 推荐(0)
摘要:QFileDialog提供了一个函数---setproxyModel。。就是用这个来玩了。就是overridefilterAcceptsRow的虚函数,里面定制自己的过滤需求。返回bool 下面就是判断是否是目录,只显示目录文件夹。 1 #ifndef PROXY_MODEL_H 2 #defin... 阅读全文
posted @ 2015-06-19 11:23 foo__hack 阅读(3752) 评论(0) 推荐(0)
摘要:最近在用ICE做分布式应用https://doc.zeroc.com/pages/viewpage.action?pageId=5048454写了一个client 和server。server监听的是样例中给出来的10000端口。发现在我的windows 7环境下没有按照例子的结果在server端打... 阅读全文
posted @ 2015-06-17 17:10 foo__hack 阅读(279) 评论(0) 推荐(0)
摘要:一般我们采取分块处理,一次处理固定大小的块。 1 def read_in_chunks(file_obj,chunk_size): 2 """Lazy function (generator) to read a file piece by piece""" 3 while True: 4 ... 阅读全文
posted @ 2015-06-10 14:15 foo__hack 阅读(500) 评论(0) 推荐(0)
摘要:比如255的16进制是FF。转换成整型就是 int("FF",16) console上输出就是255 int("FFFF",16)就是65535如果是C语言在字符串里面放入二进制的值并编入内存可以这样 char hex[] = "\x3C\xFF\xB0" 一般我们接触过底层的可以用这样写入机... 阅读全文
posted @ 2015-06-10 14:11 foo__hack 阅读(354) 评论(0) 推荐(0)
摘要:基于以上的比较再为公司的项目选择解析器的时候,我选择Xerces。准备把Qt自带的XML库给去掉。references:http://stackoverflow.com/questions/170686/best-open-xml-parser-for-chttp://stackoverflow.c... 阅读全文
posted @ 2015-06-05 10:06 foo__hack 阅读(307) 评论(0) 推荐(0)
摘要:类似于这种:就是右下角这个框,有属性名字和对应的value编辑。这个Widget是作为一个QDockWidget被添加到QMainWindow中的。QMainWindow必须要有centralWidget才能添加DockWidget。DockWidget是可以浮动于centralWidget周边(上... 阅读全文
posted @ 2015-06-05 09:31 foo__hack 阅读(10784) 评论(0) 推荐(0)
摘要:就是对这个contextMenuEvent事件重新实现,在这个事件函数中创建菜单,大概就是这样。 1 void MyItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) 2 { 3 QMenu *menu = new QM... 阅读全文
posted @ 2015-06-01 15:35 foo__hack 阅读(1282) 评论(0) 推荐(0)