나는 두 개의 콤보 상자를 가지고 있습니다. 첫 번째 콤보 상자에는 customerNames의 목록, 즉 MySQL 데이터베이스의 다른 회사가 표시됩니다. 각 고객마다 다른 도시에 지점이 있습니다.Python 계층 적 QcomboBox : 정리 목록
그런 다음 콤보 상자 1 옵션 목록에서 고객 이름을 선택한 경우. {Aldi, Meyer, Carrefour, WalMart} 특정 고객의 경우 도시/지점 목록이 자동으로 콤보 상자 2에 표시됩니다. 우리는 다시 결국 가지의 작은 번호가 다른 고객을 선택 때처럼 뭔가, 예컨대는 :
combo1: chosen_customer [Aldi] --> cities:{NY, Boston, Berlin, Tokyo, London} then..
combo2: options {NY, Boston, Berlin, Tokyo, London}
문제는 온다 - 예를 들어, 속한 목록 도시의 각 이름을 추가
def loadComboCity(self,customerName):
"""query results cityList into self.mydb.matrix"""
queryName="citylist_thisCustomer"
self.mysqlAPI(queryName,customerName)
id=0
for row in self.mydb.matrix:
cityname=self.mydb.matrix[id][0]
self.addcomboCity(id,cityname)
id=id+1
del self.mydb.matrix[:]
및 기능 : 여기
combo1: chosen_customer [Meyer] --> {LA, San Francisco}, then.. we got
combo2: options {LA, San Francisco, Berlin, Tokyo, London}
intead of combo2: options {LA, San Francisco}
는 CUSTOMERNAME이 목록 combo1에서 선택 될 때마다 호출되는 combo2를 실행하는 기능입니다 그 고객에게 :
def addcomboCity(self,id,cityname):
self.comboCity.addItem(QtCore.QString())
self.comboCity.setItemText(id, QtGui.QApplication.translate("MainWindow", cityname, None, QtGui.QApplication.UnicodeUTF8))
del을 사용하여 목록의 이전 내용을 지우려고 시도했지만 여전히 동일한 동작을 얻습니다.
이것은 Qt 또는 파이썬 관련 문제입니까? 아니면 여기에 우리가 누락 된 부분이 있습니까?
모든 의견 및 제안은 높이 평가됩니다.
감사합니다. 'clear()'가 문제를 해결했습니다 ........ | : 0), – ThreaderSlash