下面的代码几乎可以正常工作,因为输出看起来是正确的,但是实际的GUI小部件没有显示任何项目。你知道吗
from pyqtgraph.Qt import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class MyTable(QTableWidget):
def __init__(self, data, *args):
QTableWidget.__init__(self, *args)
self.data = data
self.setmydata()
def setmydata(self):
horHeaders = []
for idx, key in enumerate(sorted(self.data)):
horHeaders.append(key)
self.setHorizontalHeaderLabels(horHeaders)
def addrow(self, triangleObject):
print 'addrow called'
rowNum = self.rowCount()
self.insertRow(rowNum)
i = 1
for val in triangleObject.triangle:
print rowNum, i, val
self.setItem(rowNum, i, QtGui.QTableWidgetItem(val))
i += 1
self.resizeColumnsToContents()
self.resizeRowsToContents()
class Triangle(Observer):
def __init__(self, slist):
self.ptr = 0
self.triangle = {}
self.order = {}
loopCount = 0
for s in slist:
sindex = sIndexHash[s]
self.triangle[sindex] = (sindex, 0, 0, 0, 0)
self.order[loopCount] = sindex
loopCount = loopCount + 1
data = {'S1' , 'S2', 'S3'} # the column names
table = MyTable(data, 0, 3) # create an initial table with just column headers no rows
Triangle one
Triangle two
Triangle three
Triangle four
Triangle five
Triangle six
Triangle seven
Triangle eight
table.addrow(one)
table.addrow(two)
table.addrow(three)
table.addrow(four)
table.addrow(five)
table.addrow(six)
table.addrow(seven)
table.addrow(eight)
我可以看到以下输出。我还可以在屏幕上看到一个小部件,它看起来像一个小电子表格,具有正确的列名。但是我在小表格里什么都没看到?
addrow called
0 1 1
0 2 4
0 3 7
addrow called
1 1 2
1 2 3
1 3 7
addrow called
2 1 4
2 2 5
2 3 6
addrow called
3 1 8
3 2 0
3 3 5
addrow called
4 1 8
4 2 3
4 3 6
addrow called
5 1 0
5 2 3
5 3 4
addrow called
6 1 9
6 2 10
6 3 3
addrow called
7 1 0
7 2 1
7 3 2
我不得不说
相关问题 更多 >
编程相关推荐