Code: Alles auswählen
class ScrollMessageBoxShowRC(QMessageBox):
def __init__(self, *args, **kwargs):
QMessageBox.__init__(self, *args, **kwargs)
scroll = QScrollArea(self)
scroll.setWidgetResizable(True)
self.content = QWidget()
scroll.setWidget(self.content)
lay = QVBoxLayout(self.content)
dlts = {} #Ich will in btnstateDel ein Dictionary erzeugen {Objektname : isCheckboxChecked}
for rc in dbaccess.allRC(): #Hier fülle ich das Widget mit n Buttons und n Checkboxen.
dlt = QCheckBox('delete', self)
dlt.stateChanged.connect(partial(self.btnstateDel, dlt, dlts))
dlt.setObjectName(rc[9])
qb = QPushButton(rc[9], self)
lay.addWidget(qb)
lay.addWidget(dlt)
self.buttonClicked.connect(self.msgButtonClickDel)
self.layout().addWidget(scroll, 0, 0, 1, self.layout().columnCount())
self.setStyleSheet("QScrollArea{min-width:410 px; min-height: 600px}")
def btnstateDel(self, dlt, dlts):
dlts[dlt.objectName()] = dlt.isChecked()
#Wenn ich nun auf dem "obersten" Widget "OK" drücke, will ich auf das dictionary namens dlts zugreifen:
def msgButtonClickDel(self, i, dlts):
if i.text() == "OK":
#print(dlts) Geht nicht...
#print(self.dlts) ...so geht es auch nicht.