コード例 #1
0
 def initCells(self):
     """初始化单元格"""
     
     l = ctaTaskPool.taskPool.allTask.items()
     self.setRowCount(len(l))
     row = 0
     
     for name, task in l:            
         cellTaskName  = QtGui.QTableWidgetItem(name)
         cellTaskTime  = QtGui.QTableWidgetItem(str(task.runTM))
         cellTaskRunM  = QtGui.QTableWidgetItem(task.runmode)
         cellStrCls    = QtGui.QTableWidgetItem(task.setting.get('className'))
         buttonActive  = TaskActiveButton(name)
         buttonParam   = TaskParamButton(name)
         buttonDisplay = TaskDisplayButton(name)
         buttonLog     = TaskLogButton(name)
         
         self.setItem(row, 0, cellTaskName)
         self.setItem(row, 1, cellStrCls)
         self.setItem(row, 2, cellTaskTime)
         self.setItem(row, 3, cellTaskRunM)
         self.setCellWidget(row, 4, buttonActive)
         self.setCellWidget(row, 5, buttonParam)
         self.setCellWidget(row, 6, buttonLog)
         self.setCellWidget(row, 7, buttonDisplay)
         
         self.buttonActiveDict[name] = buttonActive
         row += 1
コード例 #2
0
ファイル: uiCtaWidget.py プロジェクト: lijielife/vnTrader
    def initUI(self):

        vbox1 = QtGui.QVBoxLayout()
        for x in self.l:
            fileName = "parameter_" + x['name'] + '.json'
            d = {}
            with open(fileName, 'r') as f:
                d = json.load(f)
                f.close()
            symbols = d['postoday'].keys()
            label = [u'策略名\持仓'] + symbols
            newTable = QtGui.QTableWidget(1, 3)
            newTable.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
            newTable.setMaximumHeight(60)
            newTable.setHorizontalHeaderLabels(label)
            vbox1.addWidget(newTable)
            newItem = QtGui.QTableWidgetItem(x['name'])
            newTable.setItem(0, 0, newItem)
            newItem = QtGui.QTableWidgetItem(str(d['postoday'][symbols[0]]))
            newTable.setItem(0, 1, newItem)
            newItem = QtGui.QTableWidgetItem(' ')
            newTable.setItem(0, 2, newItem)
            if len(symbols) == 2:
                newItem = QtGui.QTableWidgetItem(str(
                    d['postoday'][symbols[1]]))
                newTable.setItem(0, 2, newItem)

        self.vbox = vbox1
        self.setLayout(self.vbox)
コード例 #3
0
    def updateData(self, data):
        """更新数据"""
        if not self.inited:
            # 设置标题

            self.setColumnCount(len(data))
            self.setHorizontalHeaderLabels(data.keys())

            # 新增数据
            col = 0
            for k, v in data.items():
                cell = QtGui.QTableWidgetItem(unicode(v))
                self.keyCellDict[k] = cell
                self.setItem(0, col, cell)
                col += 1
            
            self.inited = True
        else:
            # 更新数据
            for k, v in data.items():
                cell = self.keyCellDict[k]
                cell.setText(unicode(v))

        #cell.setBackgroundColor()

        # 调整表格宽度为自适应
        self.resizeColumnsToContents()
        self.resizeRowsToContents()
コード例 #4
0
ファイル: uiCtaWidget.py プロジェクト: zhengwsh/InplusTrader
    def updateData(self, data):
        """更新数据"""
        if not self.inited:
            self.setColumnCount(len(data))
            self.setHorizontalHeaderLabels(data.keys())
            self.resizeColumnsToContents()

            col = 0
            for k, v in data.items():
                if k == 'vtSymbols':
                    cell = QtGui.QTableWidgetItem('; '.join(v))
                elif k == 'pos':
                    poses = ""
                    for sym in v:
                        poses += sym + ":long:" + str(
                            v[sym]["long"]) + ",short:" + str(
                                v[sym]["short"]) + "; "
                    cell = QtGui.QTableWidgetItem(poses)
                else:
                    cell = QtGui.QTableWidgetItem(unicode(v))

                self.keyCellDict[k] = cell
                self.setItem(0, col, cell)
                col += 1

            self.inited = True
        else:
            for k, v in data.items():
                cell = self.keyCellDict[k]
                if k == 'vtSymbols':
                    cell.setText('; '.join(v))
                elif k == 'pos':
                    poses = ""
                    for sym in v:
                        poses += sym + ":long:" + str(
                            v[sym]["long"]) + ",short:" + str(
                                v[sym]["short"]) + "; "
                    cell.setText(poses)
                else:
                    cell.setText(unicode(v))
コード例 #5
0
    def updateData(self, data):
        """更新数据"""
        if not self.inited:
            self.setColumnCount(len(data))
            self.setHorizontalHeaderLabels(data.keys())

            col = 0
            for k, v in data.items():
                cell = QtGui.QTableWidgetItem(unicode(v))
                self.keyCellDict[k] = cell
                self.setItem(0, col, cell)
                col += 1

            self.inited = True
        else:
            for k, v in data.items():
                cell = self.keyCellDict[k]
                cell.setText(unicode(v))
コード例 #6
0
    def updateData(self, data):
        """更新数据"""
        self.data = data

        if not self.inited:
            if 'run_id' in data.keys():
                self.setEditTriggers(self.DoubleClicked)

                self.setColumnCount(len(self.lables))
                self.setFixedHeight(85)

                self.setHorizontalHeaderLabels(self.lables)
                self.resizeColumnsToContents()
                self.resizeRowsToContents()

                col = 0

                cell = QtGui.QTableWidgetItem(unicode(data['run_id']))
                self.resizeColumnsToContents()
                self.keyCellDict['run_id'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(unicode(data['strategy_file']))
                self.resizeColumnsToContents()
                self.keyCellDict['strategy_file'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(unicode(data['start_date']))
                self.resizeColumnsToContents()
                self.keyCellDict['start_date'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(unicode(data['end_date']))
                self.resizeColumnsToContents()
                self.keyCellDict['end_date'] = cell
                self.setItem(0, col, cell)
                col += 1
                """
                cell = QtGui.QCalendarWidget()
                self.resizeColumnsToContents()
                self.resizeRowsToContents()
                self.keyCellDict['start_date'] = cell
                self.setCellWidget(0, col, cell)
                col += 1

                cell = QtGui.QCalendarWidget()
                self.resizeColumnsToContents()
                self.resizeRowsToContents()
                self.keyCellDict['end_date'] = cell
                self.setCellWidget(0, col, cell)
                col += 1
                """

                cell = QtGui.QTableWidgetItem(
                    unicode(data['stock_starting_cash']))
                self.resizeColumnsToContents()
                self.keyCellDict['stock_starting_cash'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QComboBox()
                cell.addItem("1d")
                cell.addItem("1m")
                cell.addItem("tick")
                self.resizeColumnsToContents()
                self.keyCellDict['frequency'] = cell
                self.setCellWidget(0, col, cell)
                cell.currentIndexChanged.connect(self.sendChangeSignal2)
                col += 1

                cell = QtGui.QComboBox()
                cell.addItem("current_bar")
                cell.addItem("next_bar")
                self.resizeColumnsToContents()
                self.keyCellDict['matching_type'] = cell
                self.setCellWidget(0, col, cell)
                cell.currentIndexChanged.connect(self.sendChangeSignal3)
                col += 1

                cell = QtGui.QTableWidgetItem(unicode(data['benchmark']))
                self.resizeColumnsToContents()
                self.keyCellDict['benchmark'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(unicode(data['slippage']))
                self.resizeColumnsToContents()
                self.keyCellDict['slippage'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(
                    unicode(data['commission_multiplier']))
                self.resizeColumnsToContents()
                self.keyCellDict['commission_multiplier'] = cell
                self.setItem(0, col, cell)
                col += 1

                cell = QtGui.QTableWidgetItem(
                    unicode(data['margin_multiplier']))
                self.resizeColumnsToContents()
                self.keyCellDict['margin_multiplier'] = cell
                self.setItem(0, col, cell)
                col += 1

            else:
                self.setEditTriggers(self.NoEditTriggers)

                self.setColumnCount(len(data))
                self.setFixedHeight(85)

                self.setHorizontalHeaderLabels(data.keys())
                self.resizeColumnsToContents()

                col = 0

                for k, v in data.items():
                    cell = QtGui.QTableWidgetItem(unicode(v))
                    self.keyCellDict[k] = cell
                    self.setItem(0, col, cell)
                    col += 1

            self.inited = True
        else:
            for k, v in data.items():
                cell = self.keyCellDict[k]
                cell.setText(unicode(v))

        self.cellChanged.connect(self.sendChangeSignal)