# 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)