找回密码
 立即注册
收起左侧

如何重载keyPressEvent函数使得在QLineEdit中能够读取上下键

2
回复
10500
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2017-3-1 22:01:36 显示全部楼层 |阅读模式
1Qter豆
最近在做一个课设,想添加一个仿google的那种边输入,边搜索的功能。
我的思路是这样的,在QLineEdit下放一个QListView,通过重载keyPressEvent函数读取键盘按键并进行相关操作
但在实际调试中,发现居然不能读取到上下键 ,我想它应该是把上下键 和字母之类的同样处理了……  

以下是keyPressEvent代码
  1. void MainWindow::keyPressEvent ( QKeyEvent * keyevent )  //重载
  2. {
  3.        if(QApplication::focusWidget() == ui->search_student_lineEdit) {
  4.        int uKey = keyevent->key();
  5.        Qt::Key key = static_cast<Qt::Key>(uKey);
  6.        qDebug()<<key;

  7.        if(key == Qt::Key_Up) {
  8.        //相关操作
  9.        } else if (key == Qt::Key_Down) {
  10.        //相关操作
  11.        } else if (key == Qt::Key_Enter || key == Qt::Key_Return) {
  12.        //相关操作
  13.        }
  14.        //隐藏下拉栏
  15.        ui->search_student_listWidget->hide();
  16. }
复制代码



但我实际上是个新人,思路和源码是从别人博客上借鉴来的,遇到这个问题我想了很久还是无法解决……还请各位大佬能够指点我一下

最佳答案

查看完整内容

Qt自带了这个例子的:Google Suggest Example
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2017-3-1 22:01:37 显示全部楼层
Qt自带了这个例子的:Google Suggest Example
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-3-1 22:51:37 显示全部楼层
yafeilinux 发表于 2017-3-1 22:34
Qt自带了这个例子的:Google Suggest Example

非常感谢!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了