хорошо Я использую Pyqt4 в Maya2012, чтобы сделать справочный редактор как ui. Я работаю с QtableWidget, чтобы создать список ссылок, и у меня есть подвижки в каждой ячейке. Один из виджетов - это флажок, который выгружает или перезагружает ссылку. Проблема у меня есть, если нажать кнопку прямо в окошке, не имеют клетка выбрана она ничего не делаетОбновление виджетами ячеек в Qtable без выбора ячейки
это мой код:
def listConnections(self):
self.pos=self.sender().currentRow()
wid = self.list.ref_l.cellWidget(self.pos, 0).children()
self.text = self.list.list[self.pos]
self.ref()
for wt in wid:
if type(wt)== type(QCheckBox()):
wt.stateChanged.connect(self.changeState)
if type(wt)== type(QComboBox()):
wt.currentIndexChanged.connect(self.changeType)
Я вызываю функцию с «itemSlectionChanged », потому что это единственный способ, которым я знал, что могу обнаружить подвиды. Все подвижки сделаны в тот момент, когда я заполняю список.
Есть ли способ сделать то, что я хочу?
Edit:
Это, как я называется функцией
self.list.ref_l.itemSelectionChanged.connect(self.listConnections)
и это, как я создать все подвиджеты в клетках
def fillList(self):
mayaRef = self.findRef()
if len(mayaRef)>0:
for count in range(0,len(mayaRef)):
self.ref_l.insertRow(count)
wid=QWidget()
cLayout=QHBoxLayout()
wid.setLayout(cLayout)
checkWid=QCheckBox()
nameWid=QLabel()
cLayout.addWidget(nameWid)
nameWid2=QLabel()
cLayout.addWidget(nameWid2)
comWid=QComboBox()
cLayout.addWidget(comWid)
self.ref_l.setCellWidget(count,0,wid)
self.ref_l мой QTable Widget , это в другом коде, который я звоню с self.list в оригинале
_it ничего не делает_ Является ли changeState слот не называться? Что вы подразумеваете под _Я вызываю функцию с сигналом «itemSlectionChanged»? Вам может быть интересно следующее: http://stackoverflow.com/questions/1063734/pyqt-consolidating-signals-to-a-single-slot –
«Что вы подразумеваете под этим я вызываю функцию с помощью« itemSlectionChanged », сигнал? »- я имею в виду, что я вызываю эту функцию каждый раз, когда я выбираю другой элемент ячейки. И ChangeState вызывается только в том случае, если у меня была выбранная ячейка, но если я нажму кнопку checkButton, она не будет вызвана. –