PyQt4生成table,该如何处理

PyQt4生成table
我通过PyQt4生成了一个窗口,窗口上的菜单栏为“分级表”,请问要怎么写python,才能在单击“分级表”后在窗口里出现一个相应的table。
Python code
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys

QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))

class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.resize(500,300)
        self.setWindowTitle(self.tr("表窗口"))
        self.table=QTableWidget()

        self.createActions()
        self.createMenus()  

    def createActions(self):
        self.gradeAction = QAction(self.tr("分级表"),self)
        self.gradeAction.setShortcut("Ctrl+G")
        self.gradeAction.setStatusTip(self.tr("模块分级表"))       
        self.connect(self.gradeAction,SIGNAL("triggered()"),self.grade)

    def createMenus(self):
        profileMenu = self.menuBar().addMenu(self.tr("模块表(&T)"))
        profileMenu.addAction(self.gradeAction)

    def grade(self):
        self.table.setColumnCount(2)                
        self.table.setRowCount(40) 
        self.table.setItem(0,0,self.tr("ben"))
        self.table.setItem(0,1,self.tr("ton" ))
        self.table.setItem(0,2,self.tr("cap"))

app=QApplication(sys.argv)
main=MainWindow()
main.show()
app.exec_()


错误提示:>>> 
Traceback (most recent call last):
  File "D:\Python\Menu\self\1.py", line 29, in grade
  self.table.setItem(0,0,self.tr("ben"))
TypeError: QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'QString'
>>> 
求解!!!

------解决方案--------------------
参数类型传错了吧?看看库的帮助文档!
------解决方案--------------------
QTableWidget.setItem (self, int row, int column, QTableWidgetItem item)
============================
newItem = QtGui.QTableWidgetItem(_fromUtf8('haha'))
self.tableWidget.setItem(0, 1, newItem)