使用列表填充QComboBox

时间:2016-03-30 14:57:13

标签: python pyqt qstring

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

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

my $error = CABLING_ERROR;

my $error_in = ASC::Builder::Error->new($error);

isa_ok($error_in, 'ASC::Builder::Error');

can_ok( $error_in, 'tt');
is($error_in->tt(), ( $error || $error->{tt} ), 'Returns correct template');

但是在跑步时我得到了

list = list(df.parameter,unique())
self.FirstComboBox = QtGui.QComboBox()
self.FirstComboBox.addItems(list)

我见过将dict键的排序列表传递给组合框的示例,所以我很困惑,我无法传递列表。

2 个答案:

答案 0 :(得分:1)

看起来你正在使用旧的v1 api。您可以使用newer api,这样就无需将字符串转换为QStrings(在这种情况下为QStringLists)。

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

from PyQt4 import QtCore

答案 1 :(得分:1)

最后我开始工作了。但我对它并不满意。

        for i in range(len(channels)):
            self.MyComboBox.addItem(channels[i])