• 5015阅读
  • 6回复

[提问]如何在按下button后得到最后一个获得焦点的text? [复制链接]

上一主题 下一主题
离线lccycc
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-27
有一个大Dialog,里面有若干小Dialog。
每个小Dialog里面有一个QTextEdit
大的Dialog下面有一个button。现在希望点一下button,就添加一个带QTextEdit的小Dialog
每次加在后面是没问题的,但是现在偶想在半中间加,就是在最后修改的那个QTextEdit所在的小Dialog之后插入
请问有什么办法?hasFocus()老是不行
离线ppdayz

只看该作者 1楼 发表于: 2011-04-27
每次焦点了就把小Dialog存一下,这个是最笨的办法。。
离线lccycc
只看该作者 2楼 发表于: 2011-04-27
回 1楼(ppdayz) 的帖子
现在确实是这样处理的-_-存了一个QTime
离线lccycc
只看该作者 3楼 发表于: 2011-04-27
回 1楼(ppdayz) 的帖子
但是对Dialog做focusInEvent并不方便,因为如果焦点在TextEdit内,这个事件依然不会触发。
有没有什么将Dialog内的组件的事件由Dialog接管的办法?
不行的话只能一个一个组件继承 那太麻烦了
离线lccycc
只看该作者 4楼 发表于: 2011-04-27
使用事件过滤成功了 谢谢
只是不知道有没有直接通过查找焦点得到的办法
离线xlttap

只看该作者 5楼 发表于: 2011-04-29
加在QTableWidget中, 不就什么问题都能解决了。
根据当前的行和列, 就可以实现了。
我简单我快乐
离线米饭拌面

只看该作者 6楼 发表于: 2011-04-29
Re:回 1楼(ppdayz) 的帖子
引用第3楼lccycc于2011-04-27 23:26发表的 回 1楼(ppdayz) 的帖子 :
但是对Dialog做focusInEvent并不方便,因为如果焦点在TextEdit内,这个事件依然不会触发。
有没有什么将Dialog内的组件的事件由Dialog接管的办法?
不行的话只能一个一个组件继承 那太麻烦了


你可以试试 QWidget的函数焦点继承,Dialog->setFocusProxy( TextEdit );
QQ:32336134
快速回复
限100 字节
 
上一个 下一个