gpt4 book ai didi

python - QTableWidget 当前选择改变信号

转载 作者:太空狗 更新时间:2023-10-30 00:55:17 27 4
gpt4 key购买 nike

当当前选择发生变化时,QTableWidget 的信号是什么?我如何为它分配一个插槽?

最佳答案

你想要 itemSelectionChanged信号:

This signal is emitted whenever the selection changes.

您可以通过执行以下操作来使用它:

self.itemSelectionChanged.connect(self.print_row)

每次选择更改时,这将调用 self.print_row(这是您创建的函数)。


一个非常基本的例子:

import sys
from PyQt4 import QtGui, QtCore

lista = ['r1c1', 'r1c2', 'r1c3']
listb = ['r2c1', 'r2c2', 'r1c3']
listc = ['r3c1', 'r3c2', 'r3c3']
mystruct = {'row1':lista, 'row2':listb, 'row3':listc}

class MyTable(QtGui.QTableWidget):
def __init__(self, thestruct, *args):
QtGui.QTableWidget.__init__(self, *args)
self.data = thestruct
n = 0
for key in self.data:
m = 0
for item in self.data[key]:
newitem = QtGui.QTableWidgetItem(item)
self.setItem(m, n, newitem)
m += 1
n += 1
self.itemSelectionChanged.connect(self.print_row)

def print_row(self):
items = self.selectedItems()
print(str(items[0].text()))

def main(args):
app = QtGui.QApplication(args)
table = MyTable(mystruct, 3, 3)
table.show()

sys.exit(app.exec_())

if __name__=="__main__":
main(sys.argv)

这会创建一个这样的表:

UI

当您选择任何一个单元格时,它会打印出单元格中的文本。请注意,此打印功能假定您一次只能进行一个选择。 selectedItems() 函数返回所选项目的列表。在这个例子中我只使用了第一个索引。

关于python - QTableWidget 当前选择改变信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29734471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com