ws00310976 发表于 2014-11-06 11:19

pyqt4 tableWidget cellChanged 的使用方法

在0,0 单元格 变动后,获取这个单元格的字符,在label中输出

部分代码如下:(请指点如何改动)
QtCore.QObject.connect(self.tableWidget, QtCore.SIGNAL(_fromUtf8("cellChanged(int,int)")), self.out)
QtCore.QObject.connect(self.action1, QtCore.SIGNAL(_fromUtf8("triggered()")), self.test)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def out(self, row, col):
      a=self.item(row, col).text()
      self.label.setText(a)

whitelotus19 发表于 2014-11-07 12:32

是这样吗?#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *


class Example(QWidget):
   
    def __init__(self):
      super(Example, self).__init__()
      
      self.initUI()
      
    def initUI(self):
      self.btn = QPushButton('Button', self)
      self.btn.resize(self.btn.sizeHint())

      self.lb = QLabel('...',self)
      
      #create the 5x5 table...
      self.table = QTableWidget(5,5,self)
      map(lambda (row,col): self.createCheckItem(self.table, row, col),
         [(row, col) for row in range(0, 5) for col in range(0, 5)])

      vbox = QVBoxLayout()
      vbox.addWidget(self.btn)
      vbox.addWidget(self.lb)
      vbox.addWidget(self.table)
      self.setLayout(vbox)

      #...and connect our signal handler to the cellChanged(int, int) signal
      QObject.connect(self.table, SIGNAL("cellChanged(int, int)"), self.myCellChanged)

      self.setGeometry(300, 300, 600, 300)
      self.setWindowTitle('nothing...')   
      self.show()
      
    #signal handler
    def myCellChanged(self,row, col):
      #print row, col
      #print self.table.currentItem().text()
      self.lb.setText(self.table.currentItem().text())

    #just a helper function to setup the table
    def createCheckItem(self,table, row, col):
      check = QTableWidgetItem("Test")
      check.setCheckState(Qt.Checked)
      table.setItem(row,col,check)

def main():
   
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

ws00310976 发表于 2014-11-09 22:41

大概是这个意思,谢谢了
页: [1]
查看完整版本: pyqt4 tableWidget cellChanged 的使用方法