今天又一个师弟在使用Qtopia-core时抱怨无法支持触摸屏,我很奇怪,不是已经解决了吗?细问了一下,和前一个师弟不同的是关于鼠标的宏定义他是写在了qconfig-local.h文件里,而不是直接写在qmouselinuxtp_qws.h中了,然后通过在configure时添加-qconfig local来实现的。
那么configure是如何处理-qconfig设置的参数的呢?打开configure文件,搜索qconfig,上上下下的看了一遍,发现问题了!原来对于qconfig设置的参数,只能处理预定义的五个,即minimal,small,medium,large和full。自定义的,如local之类,则完全不处理!而看网上和使用旧版本Qtopia-core的书上,说的都是用-qconfig local来实现,可能是版本不同导致的变化吧~~
知道了问题的根源,解决起来就简单了!方法可以有多种,一种就像前一个师弟一样,在qmouselinuxtp_qws.h中直接定义相关宏,这样的弊端一是改变了源代码,二是默认使用了full配置,想要裁剪的话还要手工在命令行加很多的选项,不推荐!另一种方法是把预定义的五个配置文件之一,如small,改为自己需要的配置,再用-qconfig small来指定配置,该方法避免了第一种方法的弊端,只是默认的small文件就没了,当然可以备份一个~~还有一种方法是修改configure文件,在五种预定义配置外加一个,如strong,这样只要再把配置存在文件qconfig-strong.h中就可以了,哈哈,够有个性的吧~~!
2007年12月5日星期三
订阅:
博文评论 (Atom)
没有评论:
发表评论