def __init__(self, parent=None): super(NodeLabelWidget, self).__init__(parent) self._mapped = False self.data_mapper = QtGui.QDataWidgetMapper() self.setFixedHeight(50) self._create_widgets() self._create_layout()
def setModel(self, model): self.model = model # create widget mapping self.data_mapper = QtGui.QDataWidgetMapper() self.data_mapper.setModel(self.model) # mapping(widget, column) self.data_mapper.addMapping(self.name_widget.edit, 0) self.data_mapper.addMapping(self.type_widget.edit, 1) # bind mapper to first row in model self.data_mapper.toFirst()
def setModel(self, model): self.model = model if True: # test # we can set btn icon like this and text will map correctly # but we can't bind icon and text at same time resource = self.model._resources["Camera"] pixmap = QtGui.QPixmap(resource) icon = QtGui.QIcon(pixmap) self.test_btn.setIcon(icon) # create widget mapping self.data_mapper = QtGui.QDataWidgetMapper() self.data_mapper.setModel(self.model) # set completer self.list_model = TreeToListProxyModel() self.list_model.setSourceModel(self.model) self.completer.setModel(self.list_model) self.configure_completer_tree() # mapping(widget, column) # self.data_mapper.addMapping(self.edit_widget, 0) self.data_mapper.addMapping(self.edit_widget2, 0) # self.data_mapper.addMapping(self.label_widget, 0, "text") # overrides # pixmap self.data_mapper.addMapping(self.pixmap_label, 4, "pixmap") self.data_mapper.addMapping(self.name_label, 0, "text") # can't do both!? self.data_mapper.addMapping(self.test_btn, 0, "text") # self.data_mapper.addMapping(self.test_btn, 5, "icon") self.data_mapper.addMapping(self.combo, 0) # self.data_mapper.addMapping(self.type_widget.edit, 1) # bind mapper to first row in model self.data_mapper.toFirst()
def __init__(self, parent=None): super(NodeDropWidget, self).__init__(parent) self._mapped = False self.setAcceptDrops(True) self.setMouseTracking(False) self.setToolTip("drag a thing on to me!") self.data_mapper = QtGui.QDataWidgetMapper() self.setFixedHeight(50) self._create_widgets() self._create_layout() self._define_context_menu() self.accept_palette = QtGui.QPalette() self.accept_palette.setColor(QtGui.QPalette.Background, QtCore.Qt.green) self.frame_widget.setAutoFillBackground(True)
def __init__(self, parent=None): super(PhoneLogDlg, self).__init__(parent) callerLabel = QtGui.QLabel("&Caller:") self.callerEdit = QtGui.QLineEdit() callerLabel.setBuddy(self.callerEdit) today = QtCore.QDate.currentDate() startLabel = QtGui.QLabel("&Start:") self.startDateTime = QtGui.QDateTimeEdit() startLabel.setBuddy(self.startDateTime) self.startDateTime.setDateRange(today, today) self.startDateTime.setDisplayFormat(DATETIME_FORMAT) endLabel = QtGui.QLabel("&End:") self.endDateTime = QtGui.QDateTimeEdit() endLabel.setBuddy(self.endDateTime) self.endDateTime.setDateRange(today, today) self.endDateTime.setDisplayFormat(DATETIME_FORMAT) topicLabel = QtGui.QLabel("&Topic:") topicEdit = QtGui.QLineEdit() topicLabel.setBuddy(topicEdit) firstButton = QtGui.QPushButton() firstButton.setIcon(QtGui.QIcon(":/first.png")) prevButton = QtGui.QPushButton() prevButton.setIcon(QtGui.QIcon(":/prev.png")) nextButton = QtGui.QPushButton() nextButton.setIcon(QtGui.QIcon(":/next.png")) lastButton = QtGui.QPushButton() lastButton.setIcon(QtGui.QIcon(":/last.png")) addButton = QtGui.QPushButton("&Add") addButton.setIcon(QtGui.QIcon(":/add.png")) deleteButton = QtGui.QPushButton("&Delete") deleteButton.setIcon(QtGui.QIcon(":/delete.png")) quitButton = QtGui.QPushButton("&Quit") quitButton.setIcon(QtGui.QIcon(":/quit.png")) addButton.setFocusPolicy(QtCore.Qt.NoFocus) deleteButton.setFocusPolicy(QtCore.Qt.NoFocus) fieldLayout = QtGui.QGridLayout() fieldLayout.addWidget(callerLabel, 0, 0) fieldLayout.addWidget(self.callerEdit, 0, 1, 1, 3) fieldLayout.addWidget(startLabel, 1, 0) fieldLayout.addWidget(self.startDateTime, 1, 1) fieldLayout.addWidget(endLabel, 1, 2) fieldLayout.addWidget(self.endDateTime, 1, 3) fieldLayout.addWidget(topicLabel, 2, 0) fieldLayout.addWidget(topicEdit, 2, 1, 1, 3) navigationLayout = QtGui.QHBoxLayout() navigationLayout.addWidget(firstButton) navigationLayout.addWidget(prevButton) navigationLayout.addWidget(nextButton) navigationLayout.addWidget(lastButton) fieldLayout.addLayout(navigationLayout, 3, 0, 1, 2) buttonLayout = QtGui.QVBoxLayout() buttonLayout.addWidget(addButton) buttonLayout.addWidget(deleteButton) buttonLayout.addStretch() buttonLayout.addWidget(quitButton) layout = QtGui.QHBoxLayout() layout.addLayout(fieldLayout) layout.addLayout(buttonLayout) self.setLayout(layout) self.model = QtSql.QSqlTableModel(self) self.model.setTable("calls") self.model.setSort(STARTTIME, QtCore.Qt.AscendingOrder) self.model.select() #maps from widget to model (neet to set model) self.mapper = QtGui.QDataWidgetMapper(self) self.mapper.setSubmitPolicy(QtGui.QDataWidgetMapper.ManualSubmit) self.mapper.setModel(self.model) self.mapper.addMapping(self.callerEdit, CALLER) self.mapper.addMapping(self.startDateTime, STARTTIME) self.mapper.addMapping(self.endDateTime, ENDTIME) self.mapper.addMapping(topicEdit, TOPIC) self.mapper.toFirst() firstButton.clicked.connect( lambda: self.saveRecord(PhoneLogDlg.FIRST)) prevButton.clicked.connect( lambda: self.saveRecord(PhoneLogDlg.PREV)) nextButton.clicked.connect( lambda: self.saveRecord(PhoneLogDlg.NEXT)) lastButton.clicked.connect( lambda: self.saveRecord(PhoneLogDlg.LAST)) addButton.clicked.connect(self.addRecord) deleteButton.clicked.connect(self.deleteRecord) quitButton.clicked.connect(self.accept) self.setWindowTitle("Phone Log")