QTableWidget如何设置单个单元格的信号与槽?

LinuxVV 2016-04-22 08:24:10
1.QtableWidget假如有10行8列, 当光标停在某一列的时候,会写入数据,想设置一个信号,检查这列被写入的时候触发;怎么弄? 请解释详细点,谢谢。

2.QtableWidget如何让上述的10行8列的 第三列,第四列,第五列无法被编辑,只能由程序写入?
...全文
1229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FlyToTMoon 2016-04-29
  • 打赏
  • 举报
回复
ui->tableCmdPara->setItem(i, 0 ,stBuf.m_pItemName); ui->tableCmdPara->setItem(i, 2 ,stBuf.m_pItemLen); ui->tableCmdPara->setCellWidget(i, 1, stBuf.m_pEditValue); connect(stBuf.m_pEditValue, SIGNAL(signal_edit_finished(int)), this, SLOT(OnEditFinished(int))); 大概意思
LinuxVV 2016-04-29
  • 打赏
  • 举报
回复
引用 5 楼 caojian005 的回复:
ui->tableCmdPara->setItem(i, 0 ,stBuf.m_pItemName); ui->tableCmdPara->setItem(i, 2 ,stBuf.m_pItemLen); ui->tableCmdPara->setCellWidget(i, 1, stBuf.m_pEditValue); connect(stBuf.m_pEditValue, SIGNAL(signal_edit_finished(int)), this, SLOT(OnEditFinished(int))); 大概意思
其实是想通过扫码枪扫到tableWidgets中的某个单元格内,也就说把键盘输入的光标写入到某个单元格内; 我用编辑的方式实现的; 至于写完成的信号和槽,差不多吧。
LinuxVV 2016-04-22
  • 打赏
  • 举报
回复
引用 1 楼 suh_a 的回复:
重写此TableView的delegate 并在其中重写 createEditor(...)方法 在index为(10, 8)的位置设置return NULL
关键重写delegate,不太清楚怎么回事。能问下,如何把键盘的光标放置在QTableWidget中的某一个单元格内么?
LinuxVV 2016-04-22
  • 打赏
  • 举报
回复
引用 2 楼 u013466477 的回复:
一、如果没有自己定义delegate,直接用这个信号就可以了。 connect(table->model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(itemDataChanged(QModelIndex,QModelIndex))); 二、 应该是只能程序写入,一个一个写。 QTableWidgetItem *item=new QTableWidgetItem("aaa"); item->setFlags(item->flags() & ~Qt::ItemIsEditable);
稍等,我不太了解QT, 刚开始使用。 我先了解下这个信号的定义和槽函数的定义,主要是参数不知道什么意思。 函数定义也不清楚。 关键重写delegate,不太清楚怎么回事。 稍后结贴; 能问下,如何把键盘的光标放置在QTableWidget中的某一个单元格内么?
冷静忍耐 2016-04-22
  • 打赏
  • 举报
回复
一、如果没有自己定义delegate,直接用这个信号就可以了。 connect(table->model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(itemDataChanged(QModelIndex,QModelIndex))); 二、 应该是只能程序写入,一个一个写。 QTableWidgetItem *item=new QTableWidgetItem("aaa"); item->setFlags(item->flags() & ~Qt::ItemIsEditable);
suh_a 2016-04-22
  • 打赏
  • 举报
回复
重写此TableView的delegate 并在其中重写 createEditor(...)方法 在index为(10, 8)的位置设置return NULL

16,199

社区成员

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

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