PyQt4生成table

xuyanjing1216 2012-07-17 03:55:24
我通过PyQt4生成了一个窗口,窗口上的菜单栏为“分级表”,请问要怎么写python,才能在单击“分级表”后在窗口里出现一个相应的table。
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'
>>>
求解!!!
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2012-07-25
  • 打赏
  • 举报
回复
QTableWidget.setItem (self, int row, int column, QTableWidgetItem item)
============================
newItem = QtGui.QTableWidgetItem(_fromUtf8('haha'))
self.tableWidget.setItem(0, 1, newItem)
兆帅 2012-07-24
  • 打赏
  • 举报
回复
参数类型传错了吧?看看库的帮助文档!

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧