使用列表填充QComboBox

BMi*_*ell 5 python qstring pyqt

我正在使用PyQT4开发一个GUI对话框,它将一些数据导入到Pandas DataFrame中,然后将数据绘制到嵌入式Matplotlib画布中.

我想将一个变量列表从DataFrame传递给组合框.我的第一次尝试是:

list = list(df.parameter,unique())
self.FirstComboBox = QtGui.QComboBox()
self.FirstComboBox.addItems(list)
Run Code Online (Sandbox Code Playgroud)

但是在运行这个我得到

TypeError: QComboBox.addItems(QStringList): argument 1 has unexpected type 'list'
Run Code Online (Sandbox Code Playgroud)

我已经看到了将dict键的排序列表传递给组合框的示例,所以我很困惑,我无法传递列表.

Bre*_*bel 2

您似乎正在使用旧的 v1 api。您可以使用较新的 api,它无需将字符串转换为QStrings(或QStringLists在本例中)。

import sip
# Do this before you import PyQt
sip.setapi('QString', 2)

from PyQt4 import QtCore
Run Code Online (Sandbox Code Playgroud)