class AddTagDlg(QDialog): def __init__(self, list, parent = None): super(AddTagDlg, self).__init__(parent) self.setModal(True) self.list = list self.color = QColor('red') #Creazione elementi dialog buttonBox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel) self.colorPickerButton = ColorButton() self.colorPickerButton.setColor(self.color) labelTag = QLabel("Nome &Tag:") self.lineEdit = QLineEdit() labelTag.setBuddy(self.lineEdit) labelColor = QLabel("&Colore:") labelColor.setBuddy(self.colorPickerButton) #Creazione layout dialog grid = QGridLayout() grid.addWidget(labelTag, 0, 0) grid.addWidget(self.lineEdit, 0, 1) grid.addWidget(labelColor,1, 0) grid.addWidget(self.colorPickerButton, 1, 1) grid.addWidget(buttonBox, 2, 0, 1, 2) self.setLayout(grid) self.setWindowTitle("Aggiungi Tag") #Connessioni self.connect(buttonBox, SIGNAL("accepted()"), self, SLOT("accept()")) self.connect(buttonBox, SIGNAL("rejected()"), self, SLOT("reject()")) self.connect(self.colorPickerButton, SIGNAL("clicked()"), self.chooseColorDlg) #print self.parent() #Riscrittura per validazione Post-mortem def accept(self): item = QListWidgetItem() itemLabel = TagLabel(self.lineEdit.text(), self.color.name(), self) self.list.addItem(item) self.list.setItemWidget(item, itemLabel) QDialog.accept(self) def chooseColorDlg(self): dialog = QColorDialog(self) #Connessioni self.connect(dialog, SIGNAL("colorSelected(QColor)"), self.setColor) dialog.show() def setColor(self, color): self.color = color self.colorPickerButton.setColor(color)