• MyTableWidget


    # coding=utf-8
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
    from Value import Value
    
    import sys
    class MyTableWidget(QTableWidget):
        def __init__(self, row, column, parent=None):
            reload(sys)
            sys.setdefaultencoding('utf8')
            super(QTableWidget, self).__init__(row, column, parent)
            mycode = 'utf-8'
            code = QTextCodec.codecForName(mycode)
            QTextCodec.setCodecForLocale(code)
            QTextCodec.setCodecForTr(code)
            QTextCodec.setCodecForCStrings(code)
            self.setHorizontalHeaderLabels(['事件ID', '事件责任人', '开单人', '', '开单时间', '处理状态', '事件等级', '事件内容'])
            self.setColumnHidden(3, True)
            self.initData()
            # self.itemSelectionChanged.connect(self.handleItemClick)
            # model = QStandardItemModel(row, column)
            # self.setModel(model)
            self.setSelectionBehavior(QAbstractItemView.SelectRows)
            self.setEditTriggers(QAbstractItemView.NoEditTriggers)
            self.setSelectionMode(QAbstractItemView.SingleSelection)
            self.resizeColumnsToContents()
    
        def selectionChanged(self, column, parent):
            QTableView.selectionChanged(self, column, parent)
            self.selectRow(self.currentItem().row())
            print self.currentRow(),
            # print self.cur
            for i in range(8):
                if i == 3:
                    continue
                print str(self.item(self.currentRow(), i).text()),
            print
            # print self.
    
        def mouseDoubleClickEvent(self, event):
            QTableView.mouseDoubleClickEvent(self, event)
            pos = event.pos()
            item = self.indexAt(pos)
            if item:
                print "item clicked at ", item.row(), " ", item.column()
            self.removeRow(item.row())
    
        def CellClicked(self, event):
            print 'j'
            QTableView.CellClicked(self, event)
            pos = event.pos()
            item = self.indexAt(pos)
            if item:
                print "item clicked at ", item.row()
    
        def handleItemClick(self):
            print 'k : '
    
        def initData(self):
            a = Value()
            self.initDatas = a.data
            self.appendRows(a.datas)
            # for i in len(a.data):
            #     self.row = self.rowCount()
            #     self.insertRow(self.row)
            #     newItem = QTableWidgetItem('jianpan')
            #     self.setItem(self.row, 0, newItem)
            #     newItem1 = QTableWidgetItem("10cm")
            #     self.MyTable.setItem(self.row, 1, newItem1)
            #     newItem2 = QTableWidgetItem("60g")
            #     self.MyTable.setItem(self.row, 2, newItem2)
            #     self.row = self.row + 1
    
        def appendRow(self, row):
            rowCount = self.rowCount()
            print 'row :', row
            self.insertRow(rowCount)
            for index in range(len(row)):
                print index
                newItem = QTableWidgetItem(row[index])
                self.setItem(rowCount, index, newItem)
    
        def appendRows(self, rowList):
            for i in rowList:
                self.appendRow(i)
    
    
    
  • 相关阅读:
    文件读写,函数,元组和集合
    Python列表,字典和字符串操作
    linux grep程序输出 文本过滤
    prj坐标转换
    ubuntu 分卷解压中文乱码
    利用ssh 删除远程服务器文件
    git 提交
    linux 命令scp
    osgEarth编译——以VS2012为例
    GDAL2.0编译——32位和64位
  • 原文地址:https://www.cnblogs.com/jian-pan/p/6616978.html
Copyright © 2020-2023  润新知