编辑QTableWidget单元格内容按回车键后,使焦点从当前单元格转到下一个单元格。

先上效果:

方法:

为了在按Enter键时使焦点从表中的一个单元格转到下一个单元格,可以重新实现代理的eventFilter(),
并监听键盘事件:QEvent::KeyPress

代码实现:

class MyItemDelegate : public QStyledItemDelegate
{Q_OBJECT
public:MyItemDelegate(QObject *parent = nullptr) : QStyledItemDelegate(parent){// 添加事件过滤器installEventFilter(this);}bool eventFilter (QObject *editor, QEvent *event){// 监听键盘事件if (event->type() == QEvent::KeyPress){QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);// 按下回车键if (keyEvent->key() == Qt::Key_Return){qDebug() << "Ate key press" << keyEvent->key();// 提交当前项的数据emit commitData((QWidget*)editor);// 关闭编辑器并指向下一项closeEditor((QWidget*)editor, QAbstractItemDelegate::EditNextItem); return true;}}return QStyledItemDelegate::eventFilter(editor, event);}
};class TableWidget : public QTableWidget
{Q_OBJECT
public:TableWidget(){// 设置代理setItemDelegate(new MyItemDelegate());// 设置行列数setColumnCount(5);setRowCount(5);}
};

调用:

int main(int argc, char *argv[])
{QApplication a(argc, argv);TableWidget box;box.show();return a.exec();
}
void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint) [virtual protected slot]
关闭给定的编辑器,然后将其释放。参数hint用于指定在编辑操作结束之后,视图应如何响应。
例如,hint可能指示应打开视图中的下一项进行编辑。void QAbstractItemView::commitData(QWidget *editor)
提交编辑器中的内容给model。

qt官方API

枚举类型:enum QAbstractItemDelegate::EndEditHint

QTableWidget编辑单元格内容,按下回车键使焦点转到下一个单元格相关推荐

  1. excel 某个单元格不是等于空值_将数据合并到一个单元格,用函数也OK

    工作中总会遇到一些奇葩要求,比如将符合数据的结果放到同一单元格.我们可以使用函数来实现,也可以用PQ来实现.今天我们来讲一下,如何用函数来实现我们的目的. 首先我们来看一下源数据: 操作步骤:1.在D ...

  2. html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...

    excel是我们常用的办公软件,有时我们需要把多个单元个的内容合并到一个单元格里,那么excel怎样快速把多个单元格内容合并?下面小编带来合并多个单元格内容的设置方法,希望对大家有所帮助. 合并多个单 ...

  3. dev gridcontrol 单元格内容复制_Excel中的复制粘贴,不只是你想的那么简单的

    白日何短短,百年苦易满.苍穹浩茫茫,万劫太极长.麻姑垂两鬓,一半已成霜.天公见玉女,大笑亿千场.吾欲揽六龙,回车挂扶桑.北斗酌美酒,劝龙各一觞.富贵非所愿,与人驻颜光. --[唐]李白<短歌行& ...

  4. 单元格内容分列多行_excel如何将同一个单元格的多行内容拆分

    展开全部 你好,此问62616964757a686964616fe78988e69d8331333431353235题可以通过Excel VBA完美解决.详见 简书的文章<用ExcelVBA实现 ...

  5. Excel 中如何根据单元格内容删除行

    根据单元格内容快速删除行,首先需要选中含有该单元格内容的所有行,然后删除.似乎在 Excel 当中除了 VBA 以外没有其他更快捷的方法能解决这个问题了.这里将推荐几个快速根据单元格内容删除行的方法给 ...

  6. html拆分单元格成两列,在excel中怎样把一个单元格拆分成两个单元格

    excel表格中如何拆分带括号的单元格比如说我有一个表格单元格内容是 :张三李四(000001) 如何将括号内的选中需要拆分的单元格,Ctrl +F把单元格里面的括号或者书名号换成逗号,然后在数据选项 ...

  7. excel添加列下拉框票价_excel表格下拉表格添加数据-excel2017表格中怎么制作下拉菜单列表框...

    在Excel表中,如何将增加下拉菜单的选项? excel中的下拉菜单选项,就是筛选的功能,具体操作如下: 1.首先选中a.b两列数据,在"开始"选项卡上选择"筛选&quo ...

  8. jqGrid可编辑模式下 单元格内容不能复制处理

    jqGrid不可编辑模式下,鼠标点击单元格内容并选中要复制的内容,然后就可以复制.粘贴:然而在可编辑模式下则行不通,一旦单元格鼠标点击后,若该列不可编辑则表格会失去焦点,从而导致选中的内容丢失,因此无 ...

  9. Excel单元格输入文本敲下回车键后自动调整列宽

    Excel默认情况下在单元格中输入内容按下回车键后无法自动调整列宽,需要使用VBA添加此功能.以下方法来源于网友"七天内只能修改一次",亲测有效后重新编辑了文字并截图展示,希望对您 ...

最新文章

  1. postman 使用_如何使用Postman实现数据驱动?
  2. CodedStereo:大尺度景深双目视觉的相位掩模学习(CVPR2021)
  3. 为什么在重庆比北京更容易迷路?Nature子刊:大脑GPS系统呈蜂窝状,弯路多了就“变形”...
  4. centos 6.5安装GitLab全过程和问题记录
  5. Android Studio快捷键——编辑篇
  6. 聊聊职场那些事儿(转)
  7. Android------Android.mk调用shell脚本
  8. python 中反斜杠在字符串过长的正确用法
  9. 【若依(ruoyi)】验证码
  10. 在Silverlight中使用Socket进行通信(1)Socket请求-回复方式的简易数据交换
  11. MySQL2索引优化
  12. 如何深入的学习好CSS?
  13. SAP License:SAP Business One系统功能
  14. Win11延迟高怎么办?Win11延迟高的解决方法
  15. Word高效指南 - 如何批量删除空格空白行
  16. windows10如何设置电脑的固定IP地址
  17. python实现字符串去重
  18. 液化气瓶爆炸总发生,要为监管敲警钟
  19. linux 实验感悟_linux实训心得_linux实习心得体会范文
  20. CSS 入门2(样式属性+元素溢出+显示特性+盒子模型)

热门文章

  1. Go语言学习路线(持续更新)
  2. 世界上第一颗人造卫星——斯普特尼克1号
  3. 如何正确实施印刷业ERP(一)
  4. Console 相关操作
  5. 《使用Java理解程序逻辑》学习笔记
  6. 蓝桥杯题目练习(能量项链)
  7. nw.js 软件推荐:AxeSlide斧子演示:PPT的另一种可能(转)
  8. MyBatis中连接的获取过程
  9. 美团小程序怎么弄 饿了么cps推广 外卖cps小程序源码 饿了么cps平台 外卖领券小程序源码 美团cps分销源码免费领取 外卖红包小程序cps 饿了么cps分销免费源码 饿了么外卖分佣小程序
  10. BootStrap #响应式布局 #组件