回答
下面是一个例子,说明如何在点击它时获得表格单元格的文本。假设某个MyClass
类中定义了QTableView
。你需要安装的clicked
连接(你也可以使用doubleClicked
,pressed
等信号也一样,这取决于你的目标)信号,并执行相应的onTableClicked()
插槽它,如下图所示:
connect(tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTableClicked(const QModelIndex &));
插槽实现:
void MyClass::onTableClicked(const QModelIndex &index)
{
if (index.isValid()) {
QString cellText = index.data().toString();
}
}
上面的例子很好,谢谢你提供的解决方案 – ShivaPrasad
@vahancho你能告诉我clicked(const QModelIndex&)和cellClicked(int row,int column)有什么区别吗?为什么不能有一个单一的API? –
@XavierGeoffrey,不同之处在于这些信号分别在不同的类中声明:'QAbstractItemView :: clicked()'和'QTableWidget :: cellClicked()'。第一个信号可用于所有项目视图类,如treeview,tableview,listview,而第二个信号只用于表部件。另外,参数是不同的:有时候传递模型索引比行和列更方便,特别是对于有父类的树视图。 – vahancho
- 1. 我怎样才能捕获鼠标使用ajax离开值
- 2. 我怎样才能使图像隐藏在鼠标移出
- 3. 我怎样才能在qtableview中显示矩阵与pyqt
- 4. 我怎样才能标签
- 5. 我怎样才能“用简单的JavaScript滑动鼠标”?
- 6. 我怎样才能点击并用鼠标拖动一个gameobject?
- 7. 我怎样才能使PHP
- 8. 我怎样才能在不使用硒
- 9. 我怎样才能在标题高图
- 10. 我怎样才能
- 11. 我怎样才能
- 12. 我怎样才能
- 13. 我怎样才能
- 14. 我怎样才能用ajax
- 15. 我怎样才能用jQuery
- 16. 我怎样才能在Ionic2
- 17. 我怎样才能在Zebble
- 18. 我怎样才能在PreferenceScreen
- 19. 我怎样才能在vim
- 20. 我怎样才能在图
- 21. 我怎样才能在Python
- 22. 我怎样才能在VB.net
- 23. 我怎样才能在DB2
- 24. 我怎样才能在Java
- 25. 我怎样才能在Python
- 26. 我怎样才能在PAM
- 27. 我怎样才能在JSP
- 28. 我怎样才能在RSPEC
- 29. 我怎样才能在logstash
- 30. 我怎样才能在Doctrine2
告诉我们你有什么试过,你的问题是什么? – RobbieE
您是否尝试过使用[clicked](http://qt-project.org/doc/qt-5.0/qtwidgets/qabstractitemview.html#clicked)信号? – thuga