• 16864阅读
  • 16回复

怎样获取焦点? [复制链接]

上一主题 下一主题
离线tae0512
 

只看楼主 倒序阅读 楼主  发表于: 2007-08-13
— 本帖被 XChinux 执行加亮操作(2007-08-13) —
请教一个问题,我的一个窗口中有两个QTextEdit文本框,我希望设置一个“清除”按钮,然后一点这个按钮,当鼠标在第一个文本框中时,第一个文本框中的内容就被清空,鼠标在第二个文本框中时,第二个文本框中的背容被清空,这个时候怎么获取鼠标在哪个文本框的信息呢?
[ 此贴被XChinux在2007-08-13 15:17重新编辑 ]
在线XChinux

只看该作者 1楼 发表于: 2007-08-13
用hasFocus()来判断。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线tae0512

只看该作者 2楼 发表于: 2007-08-13
我试过了,可是不行啊,如果两个文本框分别叫AEdit和BEdit,那么,是像这样吗?
          if(ui->AEdit->hasFocus())
        ui->AEdit->setText("");
    else if(ui->BEdit->hasFocus())
        ui->BEdit->setText("");
[ 此贴被tae0512在2007-08-16 11:21重新编辑 ]
离线tokens

只看该作者 3楼 发表于: 2007-08-16
点“清除”按钮时,mouse不可能在这2个edit中的任何一个上啊...

不是很了解你的需求..建议用这几个虚函数看看..

    void focusInEvent( QFocusEvent * );
    void focusOutEvent( QFocusEvent * );
    void enterEvent( QEvent * );
    void leaveEvent( QEvent * );
头大,在学QT
离线tae0512

只看该作者 4楼 发表于: 2007-08-16
哦,对,谢谢tokens 。我的意思是两个文本框,无论你处在对于哪个文本框编辑的时候,输入提示符都会停留在对应的文本框,而我点清除按钮后,相应的文本框里的内容被清空。

那几个Event函数怎么用阿,我也在看这里,但是不知道怎么用,能不能给个示范阿?谢谢了
离线tokens

只看该作者 5楼 发表于: 2007-08-16
哦..这个意思啊,这样就更简单了..
pbutton->setFocusPolicy(NoFocus);
就OK了..焦点不会移到pushbutton上
头大,在学QT
离线tae0512

只看该作者 6楼 发表于: 2007-08-16
哦,这样吗?我试试看
离线tae0512

只看该作者 7楼 发表于: 2007-08-16
恩,问题已经解决了,解决的方法是对于clear按钮,设置:pbutton->setFocusPolicy(NoFocus);
这样,在点击按钮时焦点就不会跑到按钮上去。再判断哪个文本框获得焦点,并进行处理即可。

谢谢tokens ~~~
离线tokens

只看该作者 8楼 发表于: 2007-08-17
不用谢谢.....
已经大半年上不了这个论坛了..后来就没在意..
昨天是不小心点到了..没想到能进来了..
头大,在学QT
离线ww18031901

只看该作者 9楼 发表于: 2008-05-23
我 也 学到了
离线captain08
只看该作者 10楼 发表于: 2008-05-23
学习了
离线albertking99
只看该作者 11楼 发表于: 2009-05-26
谢谢咯
我也正用这块,学习到了
离线rqzrqh

只看该作者 12楼 发表于: 2009-05-26
不错
离线jiaruihit
只看该作者 13楼 发表于: 2010-06-04
我试了,但是为什么显示"‘pbutton’ was not declare in this scope"?求楼主指点一下。
离线jiaruihit
只看该作者 14楼 发表于: 2010-06-04
对了,用的是Qt4,想尽快得到帮助,我的QQ:601774615,希望您能够帮我
离线hoguowi

只看该作者 15楼 发表于: 2010-06-08
这个帖子对我有很大的帮助!谢谢tokens的解答和tae0512的提问!
离线lxhomour
只看该作者 16楼 发表于: 2011-10-31
好。。
快速回复
限100 字节
 
上一个 下一个