• 6764阅读
  • 5回复

[提问]QT中如何用按键来控制焦点的转移?[已解决] [复制链接]

上一主题 下一主题
离线青春岁月
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-19
关键词: 按钮颜色
QT中如何用按键来控制焦点的转移?当焦点转移时,如何实现按钮颜色的变化?
go!   go!  go!  go!
离线panqingliang
只看该作者 1楼 发表于: 2011-09-19
用键盘事件QKeyEvent
离线jdwx

只看该作者 2楼 发表于: 2011-09-19
回 楼主(青春岁月) 的帖子
焦点转移分下面几种情况:(可能不完整,只是我知道的)
1:控件按TAB顺序获得焦点。
2:鼠标点击。
3:根据需要控制焦点焦点。
前两项由Qt提供不需要特殊设置和代码。
第三项,需要在相应的控件的
virtual void    keyPressEvent ( QKeyEvent * event )
virtual void    keyReleaseEvent ( QKeyEvent * event )
函数里处理按键事件,将焦点移动到其它控件。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线午小夜

只看该作者 3楼 发表于: 2011-09-19
1)在keyPressEvent/keyReleaseEvent中,根据e->key()的不同,根据你自己的逻辑,把需要焦点的部件setFocus
2)按钮颜色,可以用QPalette,可以用paintEvent,可以用QStyle,可以用qss(嵌入式不推荐,效率低)。。。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线青春岁月

只看该作者 4楼 发表于: 2011-09-19
oneBtn->setDefault(true);以后效果那个按键为什么总是红色的?
go!   go!  go!  go!
离线青春岁月

只看该作者 5楼 发表于: 2011-09-19
谁能帮我解读一下?
go!   go!  go!  go!
快速回复
限100 字节
 
上一个 下一个