在 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

如何在立即执行中将表名添加到动态查询中?

我无法在 VS2012 中将服务引用(WCF 库)添加到 MVC4

在C ++中将字符串的数字作为整数[重复]

在 Python 中将具有不同类型的项目列表作为字符串加入

如何在open62541中将UA_String数组添加到服务器