descargar python python-3.x pyqt pyqt4

python - descargar - QTableWidget Selección actual Cambiar señal



download python pyqt (1)

Desea la señal itemSelectionChanged :

Esta señal se emite cada vez que cambia la selección.

Puedes usar esto haciendo algo como esto:

self.itemSelectionChanged.connect(self.print_row)

Esto llamará a self.print_row (que es una función que usted crea) cada vez que cambie la selección.

Un ejemplo muy básico:

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)

Esto crea una tabla como esta:

Cuando seleccione cualquiera de las celdas, imprimirá el texto en la celda. Como nota, esta función de impresión asume que solo hace una selección a la vez. La función selectedItems() devuelve una lista de elementos seleccionados. Solo estoy usando el primer índice en este ejemplo.

¿Cuál es la señal de un QTableWidget cuando cambia la selección actual y cómo puedo asignarle un espacio?