Example #1
0
    def __init__(self, base_data=None, link_data=None, base_key=None, link_key='id', parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.ui = Ui_Compare()
        self.ui.setupUi(self)
        self.parent = parent

        self.connect(self.ui.saveButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("saveData()"))
        self.connect(self.ui.addProductButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("on_click_addProductButton()"))

        self.get_data(base_data, link_data, base_key, link_key)
        self.compliteLinkBox()
        self.compliteForm()
Example #2
0
class Compare_Class(QtGui.QDialog):
    """Сравнивает 2 набора данных,
    привязывает к первому набору второй"""
    def __init__(self, base_data=None, link_data=None, base_key=None, link_key='id', parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.ui = Ui_Compare()
        self.ui.setupUi(self)
        self.parent = parent

        self.connect(self.ui.saveButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("saveData()"))
        self.connect(self.ui.addProductButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("on_click_addProductButton()"))

        self.get_data(base_data, link_data, base_key, link_key)
        self.compliteLinkBox()
        self.compliteForm()

    def renew(self):
        self.compliteLinkBox()

    def get_data(self, base_data, link_data, base_key, link_key):
        self.base_data, self.link_data, self.base_key, self.link_key = base_data, link_data, base_key, link_key
        self.data_rows = {}
        self.link_rows = {}

    def saveData(self):
        None

    def on_click_addProductButton(self):
        """Открывает приход"""
        form = Product_Class(self)
        form.show()

    def compliteForm(self):
        #Заполняет таблицу для привязки
        #второй столбик это линки, в комбобоксах
        for data_row in self.base_data:
            itemNumber = self.ui.compareTableWidget.rowCount()
            self.ui.compareTableWidget.setRowCount(itemNumber +1)
            self.data_rows[itemNumber] = {
                'base':data_row,
                'base_name':data_row['name'],
            }
            item = QtGui.QTableWidgetItem()
            item.setText("%s" % self.data_rows[itemNumber]['base_name'])
            item_link = QtGui.QComboBox()
            item_link.setEditable(True)
            item_link.setModel(self.listLink)
            item_link.setModelColumn(1)
            self.link_rows[itemNumber] = item_link
            self.connect(self.link_rows[itemNumber], QtCore.SIGNAL("currentIndexChanged(int)"),QtCore.SLOT("takeCell(int)"))

            self.ui.compareTableWidget.setItem(itemNumber, 0, item)
            self.ui.compareTableWidget.setCellWidget(itemNumber, 1, self.link_rows[itemNumber])

    def compliteLinkBox(self):
        #Заполняет комбобоксы
        self.listLink = QtGui.QStandardItemModel(0,2)
        for link in self.link_data:
            link_id = QtGui.QStandardItem("%s" % link[self.link_key])
            link_name = QtGui.QStandardItem(link['name'])
            self.listLink.appendRow([link_id, link_name])