2012-02-15 4 views
0

python plugins.I로 작업하고 있습니다. pyqt4 디자이너를 사용하여 양식을 디자인했습니다. 하나의 콤보 상자가 있습니다. 다음 I 파이썬 코딩 :python pyqt4 combobox

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

    for row in c.fetchall(): 
      print row 
      self.comboBox.addItem(row) 

날의 특정 테이블의 특정 컬럼의 모든 값을 제공한다. 나는 말하는 오류를 제공 combobox.But self.comboBox.addItem (행)에 데이터베이스에서 모든 열 값을 나열하고있다 :

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' 

어떻게 내가 콤보 상자의 값을 표시합니까?

답변

5

fetchall() 메서드는 SQL SELECT 절에서 하나의 값만 선택하는 경우에도 튜플을 생성합니다.

for row in c.fetchall(): 
    self.comboBox.addItem(row[0]) 
+0

예 작동 :)하지만, 추가되는 다양한 데이터 형식 문자의 값은 – poonam

+2

addItem를 만'str' 또는 '받아 ... 나를 밖으로 integer..help 데이터 형식의 값을 combobox..not하려면 다음에 코드를 변경 유니 코드 (unicode) 'int'를 가지고 있다면'self.comboBox.addItem (unicode (row [0]))'와 같이'unicode'로 캐스팅 할 수 있습니다. – DzinX

+0

thanx :) .......... – poonam