在 QT/Python 中将字符串作为项目添加到 tableWidget
Posted
技术标签:
【中文标题】在 QT/Python 中将字符串作为项目添加到 tableWidget【英文标题】:Add a String as an Item to a tableWidget in QT/Python 【发布时间】:2011-08-12 16:45:12 【问题描述】:我有一个包含字符串的数组,我想将每个字符串添加到 tableWidget
的不同行和同一列中。
我正在使用函数setItem
来更改所需的字段,但我收到错误QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str'
。
我搜索了一下,我想我必须使用函数QTableWidgetItem
(here)将字符串转换为tableWidgetItem
,但是,我不知道如何使用该函数,以及什么'类型'表示(整数值)。
如何使用该函数将字符串转换为tableWidgetItem
的(具体)示例将非常有帮助。
到目前为止,我的代码如下所示:
pc = 2
i = 0
while i <= pc:
self.tableWidget.insertRow(i)
self.tableWidget.setItem(i, 0, parameter[i])
i += 1
如果有人指出是否有比setItem
更好的方法将字符串添加到tableWidget
,这也会很有帮助。
【问题讨论】:
【参考方案1】:QTableWidgetItem 构造函数接受一个字符串作为参数。在您的情况下,您只需将第五行更改为(假设 parameter
是字符串列表)
self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
【讨论】:
【参考方案2】:您收到错误是因为 setItem 将 QTableWidgetItem* 作为第三个参数的输入。试试这个
pc = 2
self.tableWidget.setRowCount(pc)
i = 0
while i <= pc:
self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
i += 1
【讨论】:
以上是关于在 QT/Python 中将字符串作为项目添加到 tableWidget的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 8 中将 ViewController 的 View 作为子视图添加到 UIPageViewController 会在显示/隐藏时产生奇怪的 UINavigationBar