求助,table中的combox

数据小峰哥 2014-11-13 09:24:11
如图,怎么获取combox所在的行,点击combox时table的currentrow不改变,只有点击非combox的单元格才能通过currentrow获取所在行。
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 IBM123 的回复:
方法1 void MyComboBox ::focusInEvent ( QFocusEvent * event ) { QModelIndex idx = table->indexAt(pos()); table->setCurrentIndex(idx); } 方法2 combox->installEventFilter(table); bool table::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::FocusIn) { QComboBox *combox = qobject_cast<QComboBox *>(obj); if(combox ) { QModelIndex idx = indexAt(combox->pos()); setCurrentIndex(idx); } return true; } else { // standard event processing return QObject::eventFilter(obj, event); } }
问下楼上的,***Widget也可以自己添加控件,不一定要是Item类或其子类么?我怎么看委托都是用在***View中的。。
ibm123 2014-11-14
  • 打赏
  • 举报
回复
方法1 void MyComboBox ::focusInEvent ( QFocusEvent * event ) { QModelIndex idx = table->indexAt(pos()); table->setCurrentIndex(idx); } 方法2 combox->installEventFilter(table); bool table::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::FocusIn) { QComboBox *combox = qobject_cast<QComboBox *>(obj); if(combox ) { QModelIndex idx = indexAt(combox->pos()); setCurrentIndex(idx); } return true; } else { // standard event processing return QObject::eventFilter(obj, event); } }

16,213

社区成员

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

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