python pyqt4组合框

poo*_*nam 0 python pyqt

我正在使用python插件.我使用pyqt4 designer设计了我的表单.它有一个组合框.我在python中编码如下:

self.db._exec_sql(c, "SELECT  "+column_name1+" from  "+table_name+" ")

    for row in c.fetchall():
             print row
             self.comboBox.addItem(row)
Run Code Online (Sandbox Code Playgroud)

row给出了特定表的特定列的所有值.我将数据库中的所有列值列入combobox.But self.comboBox.addItem(row) 给出错误说:

TypeError: arguments did not match any overloaded call:
 QComboBox.addItem(QString, QVariant userData=QVariant()): argument 1 has unexp
ected type 'tuple'


 QComboBox.addItem(QIcon, QString, QVariant userData=QVariant()): argument 1 ha
s unexpected type 'tuple'
Run Code Online (Sandbox Code Playgroud)

我如何在组合框中列出值?

Dzi*_*inX 5

fetchall()即使在SQL SELECT子句中只选择一个值,方法也会生成元组.将您的代码更改为:

for row in c.fetchall():
    self.comboBox.addItem(row[0])
Run Code Online (Sandbox Code Playgroud)

  • addItem只接受`str`或`unicode`参数.如果你有一个`int`,你可以将它转换为`unicode`,如下所示:`self.comboBox.addItem(unicode(row [0]))`. (2认同)