1
我已经创建了一个窗口,QTableWidget有一个带2个按钮的单元。需要帮助连接类中的连接
按钮是在独立的类中创建的,我从主程序中传递QTableWidget实例。
我无法获取按钮创建类中连接的按钮事件。我的代码片段如下
class Buttons():
def __init__(self,tab):
buttonLayout = QtGui.QHBoxLayout()
buttonLayout.setContentsMargins(0,0,0,0)
self.saveButtonItem = QtGui.QPushButton('Save')
self.deleteButtonItem = QtGui.QPushButton('Delete')
buttonLayout.addWidget(self.saveButtonItem)
buttonLayout.addWidget(self.deleteButtonItem)
cellWidget = QtGui.QWidget()
cellWidget.setLayout(buttonLayout)
tab.insertRow(tab.rowCount())
tab.setCellWidget(tab.rowCount() - 1,0,cellWidget)
self.setconncection()
def setconncection(self):
self.saveButtonItem.clicked.connect(self.btnSaveClicked)
self.deleteButtonItem.clicked.connect(self.btnDeleteClicked)
print 'connections are set'
def btnSaveClicked(self):
print 'save clicked'
def btnDeleteClicked(self):
print 'delete clicked'
class testing(QtGui.QTableWidget):
def __init__(self):
super(testing,self).__init__()
self.setColumnCount(1)
for i in xrange(3):
self.r = Buttons(self)
if __name__ == "__main__" :
import sys
app = QtGui.QApplication (sys.argv)
win = testing()
win.show()
sys.exit(app.exec_())
我在运行时间窗口,如下
实际上,我正在动态地添加n个行。当时只有最后一行根据你的建议有链接。我已经更新了确切要求的问题。 – Rao
显然,你需要保持一个链接到所有的按钮。答案已更新。 –
完美的,我试着添加所有实例列表作为你的答案,但我没有自我加入。 Yhx的解决方案 – Rao