今天编程用到QWidget的setEditFocus函数,发现不能使用,手册里面说的是,这个功能只对应嵌入式Linux或者塞班再或者winCE。所以开始使用嵌入式Qt进行编译,发现还是不能通过,网上搜索,解决方法,说要重新编译Qt,并且加上QT_KEYPAD_NAVIGATION的FLAGS。这难倒我了,如何增加呢!我记得当初在编译Qt的时候有个配置文件qmake.conf,在mkspecs/qws/linux-arm-g++里面。我自己增加了QMAKE_FLAGS
= -DQT_KEYPAD_NAVIGATION,然后编译,结果是虽然在Makefile里面,能看到-DQT_KEYPAD_NAVIGATION,但是make的时候仍然提示,QWidget没有setEditFocus。最后在网上看到可以在configure 的时候增加-DQT_KEYPAD_NAVIGATION,尝试后编译,发现还是不行,看了一下生成的Makefile,里面并没有-DQT_KEYPAD_NAVIGATION,手动加上之后,编译通过。