Exemple #1
0
 def initCells(self):
     """初始化单元格"""
     algoEngine = self.algoEngine
     
     l = self.algoEngine.getAllAlgoParams()
     self.setRowCount(len(l))
     
     for row, d in enumerate(l):            
         cellSpreadName = QtWidgets.QTableWidgetItem(d['spreadName'])
         cellAlgoName = QtWidgets.QTableWidgetItem(d['algoName'])
         spinBuyPrice = StBuyPriceSpinBox(algoEngine, d['spreadName'], d['buyPrice'])
         spinSellPrice = StSellPriceSpinBox(algoEngine, d['spreadName'], d['sellPrice'])
         spinShortPrice = StShortPriceSpinBox(algoEngine, d['spreadName'], d['shortPrice'])
         spinCoverPrice = StCoverPriceSpinBox(algoEngine, d['spreadName'], d['coverPrice'])
         spinMaxOrderSize = StMaxOrderSizeSpinBox(algoEngine, d['spreadName'], d['maxOrderSize'])
         spinMaxPosSize = StMaxPosSizeSpinBox(algoEngine, d['spreadName'], d['maxPosSize'])
         comboMode = StModeComboBox(algoEngine, d['spreadName'], d['mode'])
         buttonActive = StActiveButton(algoEngine, d['spreadName'])
         
         self.setItem(row, 0, cellSpreadName)
         self.setItem(row, 1, cellAlgoName)
         self.setCellWidget(row, 2, spinBuyPrice)
         self.setCellWidget(row, 3, spinSellPrice)
         self.setCellWidget(row, 4, spinCoverPrice)
         self.setCellWidget(row, 5, spinShortPrice)
         self.setCellWidget(row, 6, spinMaxOrderSize)
         self.setCellWidget(row, 7, spinMaxPosSize)
         self.setCellWidget(row, 8, comboMode)
         self.setCellWidget(row, 9, buttonActive)
         
         buttonActive.signalActive.connect(comboMode.algoActiveChanged)
         
         self.buttonActiveDict[d['spreadName']] = buttonActive
Exemple #2
0
 def loadCalendar(self):
     """读取日历"""
     self.clearContents()
     
     row = 0
     totalRow = self.rowCount()
     
     # 如果有则打开
     try:
         with open(CALENDAR_FILEPATH, 'r') as f:
             reader = csv.DictReader(f)
             for d in reader:
                 cellDate = QtWidgets.QTableWidgetItem(d['date'])
                 cellDescription = QtWidgets.QTableWidgetItem(d['description'])
                 
                 if row >= totalRow:
                     self.insertRow(row)
     
                 self.setItem(row, 0, cellDate)
                 self.setItem(row, 1, cellDescription)
                 
                 row = row + 1                    
                 
     # 如果没有该文件则创建
     except IOError:
         f = open(CALENDAR_FILEPATH, 'w')
         f.close()
Exemple #3
0
    def initCells(self):
        """初始化单元格"""
        algoEngine = self.algoEngine

        l = self.algoEngine.getAllAlgoParams()

        for d in l:
            self.insertRow(0)

            cellSpreadName = QtWidgets.QTableWidgetItem(d['spreadName'])
            cellAlgoName = QtWidgets.QTableWidgetItem(d['algoName'])
            cellNetPos = QtWidgets.QTableWidgetItem('0')
            spinBuyPrice = StBuyPriceSpinBox(algoEngine, d['spreadName'],
                                             d['buyPrice'])
            spinSellPrice = StSellPriceSpinBox(algoEngine, d['spreadName'],
                                               d['sellPrice'])
            spinShortPrice = StShortPriceSpinBox(algoEngine, d['spreadName'],
                                                 d['shortPrice'])
            spinCoverPrice = StCoverPriceSpinBox(algoEngine, d['spreadName'],
                                                 d['coverPrice'])
            spinMaxOrderSize = StMaxOrderSizeSpinBox(algoEngine,
                                                     d['spreadName'],
                                                     d['maxOrderSize'])
            spinMaxPosSize = StMaxPosSizeSpinBox(algoEngine, d['spreadName'],
                                                 d['maxPosSize'])
            comboMode = StModeComboBox(algoEngine, d['spreadName'], d['mode'])
            buttonActive = StActiveButton(algoEngine, d['spreadName'])

            self.setItem(0, 0, cellSpreadName)
            self.setItem(0, 1, cellAlgoName)
            self.setItem(0, 2, cellNetPos)
            self.setCellWidget(0, 3, spinBuyPrice)
            self.setCellWidget(0, 4, spinSellPrice)
            self.setCellWidget(0, 5, spinCoverPrice)
            self.setCellWidget(0, 6, spinShortPrice)
            self.setCellWidget(0, 7, spinMaxOrderSize)
            self.setCellWidget(0, 8, spinMaxPosSize)
            self.setCellWidget(0, 9, comboMode)
            self.setCellWidget(0, 10, buttonActive)

            buttonActive.signalActive.connect(spinBuyPrice.algoActiveChanged)
            buttonActive.signalActive.connect(spinSellPrice.algoActiveChanged)
            buttonActive.signalActive.connect(spinShortPrice.algoActiveChanged)
            buttonActive.signalActive.connect(spinCoverPrice.algoActiveChanged)
            buttonActive.signalActive.connect(
                spinMaxOrderSize.algoActiveChanged)
            buttonActive.signalActive.connect(spinMaxPosSize.algoActiveChanged)
            buttonActive.signalActive.connect(comboMode.algoActiveChanged)

            self.buttonActiveDict[d['spreadName']] = buttonActive
            self.posCellDict[d['spreadName']] = cellNetPos
Exemple #4
0
 def addCell(self, name, row, col, color, alignment=None):
     """新增单元格"""
     cell = QtWidgets.QTableWidgetItem()
     self.setItem(row, col, cell)
     self.cellDict[name] = cell
     
     if color:
         cell.setForeground(QtGui.QColor(color))
     
     if alignment:
         cell.setTextAlignment(alignment)
     else:
         cell.setTextAlignment(QtCore.Qt.AlignCenter)