QLineEdit中光标闪动时回车,如何触发按钮事件?

情歌而已 2012-03-05 01:29:06
类似于搜索框,输入文字后按下回车自动进行搜索,焦点在QLineEdit中
...全文
372 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wluomu 2013-10-22
  • 打赏
  • 举报
回复
QLineEdit 有一个内置的 signal void returnPressed()
情歌而已 2012-03-05
  • 打赏
  • 举报
回复
再补充一点,QLineEdit中应该是
QLineEdit::keyPressEvent(event);//增加一行
if(event->key() == Qt::Key_Return) //小键盘回车
{
//do sth
emit search();
}
Enter捕获不到,具体原因不详,求高手解释。。
情歌而已 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]

引用 1 楼 jdwx1 的回复:

继承QLineEdit,重写:
virtual void keyPressEvent ( QKeyEvent * event )
virtual void keyReleaseEvent ( QKeyEvent * event )
其中的一个,一般是前面的那个,检测回车键,emit搜索信号。

+1

C/C++ code

#inclu……
[/Quote]
谢谢两位啦,要加个
else
{
QLineEdit::keyPressEvent(event);
}

哈,不然会打不出字来
jdwx 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]

引用 1 楼 jdwx1 的回复:

继承QLineEdit,重写:
virtual void keyPressEvent ( QKeyEvent * event )
virtual void keyReleaseEvent ( QKeyEvent * event )
其中的一个,一般是前面的那个,检测回车键,emit搜索信号。

+1

C/C++ code

#inclu……
[/Quote]

#include <QKeyEvent>

void xxx::keyPressEvent(QKeyEvent *event)
{
QLineEdit::keyPressEvent(event);//增加一行
if(event->key() == Qt::Key_Enter) //小键盘回车
{
//do sth
emit search();
}
}
念茜 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jdwx1 的回复:]

继承QLineEdit,重写:
virtual void keyPressEvent ( QKeyEvent * event )
virtual void keyReleaseEvent ( QKeyEvent * event )
其中的一个,一般是前面的那个,检测回车键,emit搜索信号。
[/Quote]
+1


#include <QKeyEvent>

void xxx::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Enter) //小键盘回车
{
//do sth
emit search();
}
}
jdwx 2012-03-05
  • 打赏
  • 举报
回复
继承QLineEdit,重写:
virtual void keyPressEvent ( QKeyEvent * event )
virtual void keyReleaseEvent ( QKeyEvent * event )
其中的一个,一般是前面的那个,检测回车键,emit搜索信号。

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧