从表小部件中的选定单元格检索单元格数据

Retrieving cell data from a selected cell in a tablewidget(从表小部件中的选定单元格检索单元格数据)
本文介绍了从表小部件中的选定单元格检索单元格数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个库存控制程序,但在获取选定单元格的值时遇到了问题,我知道我需要使用"QtGui.QTableWidget.CurrentRow"和"QtGui.QTableWidget.CurrentColumn"来获取项目的位置。但是,我似乎无法让它工作,因为当调用函数时,没有选择任何内容,因此它返回-1,-1

有人知道如何获取它,以便它在用户每次选择单元格时都运行"QtGui.QTableWidget.CurrentRow"和"QtGui.QTableWidget.CurrentColumn"吗?

我认为一旦有了坐标,我需要的代码是QtGui.QTableWidget.Item?

这是我用来获取行和列的代码:

row = self.table.currentRow
column = self.table.currentColumn
self.ID = self.table.item(row, column)

当用户点击按钮添加库存时,程序应使用刚获得的产品代码,在从用户那里获得添加的数量后对数据库进行更改

我使用的是python3.2和pyqt 4

如有任何帮助,我们将不胜感激

谢谢

萨姆

推荐答案

QTableWidget看到有人单击了它的一个单元格时,它将发出cellClicked事件-您需要连接到该事件。可能类似于

self.table.cellClicked.connect(self.cell_was_clicked)
可能在您的安装代码中, 函数cell_was_clicked可能类似于

def cell_was_clicked(self, row, column):
    print("Row %d and Column %d was clicked" % (row, column))
    item = self.table.itemAt(row, column)
    self.ID = item.text()

我没有使用currentRowcurrentColumn,因为您希望在click上得到响应。该函数的文档here(对不起,我更喜欢pyside-它与PyQt基本相同)。还请注意itemAt而不仅仅是item-因为您将在单元格中获取项目,而不是其内容。使用QTableWidgetItem.text()函数获取内容。

注意--这是在使用"时隙和信号",特别是"新风格"。由于您使用的是PyQT4和Python3,因此您应该不会对‘新东西’有任何问题:-)

您可以考虑浏览插槽和信号tutorial-这可能会理顺其中一些抽象概念。祝你好运!

这篇关于从表小部件中的选定单元格检索单元格数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)