Example #1
0
 def data(self, index, role=None):
     try:
         row = index.row()
         column = index.column()
         if self.mode == 'Audio':
             if role == Qt.DisplayRole:
                 if column == 0:
                     return str(row + 1)
                 elif column == 1:
                     return self.playlist[row][0].split('/')[-1].split(
                         '.')[0]
                 elif column == 2:
                     return str(
                         datetime.timedelta(
                             minutes=int(self.playlist[row][1])))[:-3]
             elif role == Qt.TextAlignmentRole:
                 if column == 1:
                     return Qt.AlignVCenter | Qt.AlignLeft
                 elif column == 0:
                     return Qt.AlignVCenter | Qt.AlignCenter
             elif role == Qt.TextColorRole:
                 if row == self.activeInd:
                     return QBrush(QColor(222, 142, 55))
                 if row in self.changed:
                     return QBrush(QColor(222, 142, 55))
                 else:
                     return QBrush(QColor(255, 255, 255))
             elif role == Qt.BackgroundColorRole:
                 if row in self.changed:
                     return QBrush(QColor(200, 220, 200))
             elif role == Qt.FontRole:
                 f = QFont()
                 f.setPointSize(11)
                 f.setWeight(QFont.Bold)
                 return f
         elif self.mode == 'Radio' or self.mode == 'Video':
             if role == Qt.DisplayRole:
                 if column == 0:
                     return str(row + 1)
                 elif column == 1:
                     return self.playlist[row][0]['name']
             elif role == Qt.TextAlignmentRole:
                 if column == 1:
                     return Qt.AlignVCenter | Qt.AlignLeft
                 elif column == 0:
                     return Qt.AlignVCenter | Qt.AlignCenter
             elif role == Qt.TextColorRole:
                 if row == self.activeInd:
                     return QBrush(QColor(222, 142, 55))
                 else:
                     return QBrush(QColor(255, 255, 255))
             elif role == Qt.FontRole:
                 f = QFont()
                 f.setPointSize(11)
                 f.setWeight(QFont.Bold)
                 return f
     except Exception as e:
         print('Ошибка модели:', e)
Example #2
0
 def initUI(self):
     font = QFont()
     font.setWeight(50)
     font.setPixelSize(15)
     self.human_machine.setFont(font)
     self.machine_machine.setFont(font)
     self.vs_group.addButton(self.human_machine, 1)
     self.vs_group.addButton(self.machine_machine, 2)
     self.vs_group.buttonClicked.connect(self.radioClicked)
Example #3
0
    def setTopLayout(self):
        # list menu
        self.list_widget = QListWidget()
        self.list_widget.setMinimumHeight(25)
        self.list_widget.setFlow(QListWidget.LeftToRight)
        self.list_widget.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.list_widget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.list_widget.setFrameShape(QListWidget.NoFrame)
        # list item for menu
        self.list_items = QStackedWidget()

        self.top_layout.addWidget(self.list_widget)
        self.top_layout.addWidget(self.list_items)
        self.top_layout.setStretchFactor(self.list_widget, 1)
        self.top_layout.setStretchFactor(self.list_items, 3)

        self.list_widget.currentRowChanged.connect(
            self.list_items.setCurrentIndex)
        self.list_widget.currentRowChanged.connect(
            self.item_choose)
        self.list_str = [
            strings.PATTERN,
            strings.OPERATIONAL_PLANNING,
            strings.MAPS,
            strings.REPLAY,
            strings.SITUATION_INFORMATION,
            strings.MODEL_TRAIN]
        self.item_view = [
            strings.CLASS_PATTERN,
            strings.CLASS_OPERATIONAL_PLANNING,
            strings.CLASS_MAPS,
            strings.CLASS_REPLAY,
            strings.CLASS_SITUATION_INFORMATION,
            strings.CLASS_MODEL_TRAIN]
        for i in range(len(self.list_str)):
            font = QFont()
            font.setBold(True)
            font.setWeight(50)
            font.setPixelSize(14)
            # add item to menu
            item = QListWidgetItem(self.list_str[i], self.list_widget)
            item.setFont(font)
            item.setTextAlignment(Qt.AlignCenter)
            if i == 0:
                item.setSelected(True)
            self.list_items.addWidget(eval(self.item_view[i]))
Example #4
0
    def initTab(self):
        # connect tab and item
        self.tab_widget.currentRowChanged.connect(self.item_widget.setCurrentIndex)
        self.tab_widget.currentRowChanged.connect(self.map_choose)
        for i in range(len(self.list_str)):
            # add item to tab
            font = QFont()
            font.setBold(True)
            font.setWeight(50)
            font.setPixelSize(14)

            item = QListWidgetItem(self.list_str[i], self.tab_widget)
            item.setSizeHint(QSize(30, 50))
            item.setFont(font)
            item.setTextAlignment(Qt.AlignCenter)
            if i == 0:
                item.setSelected(True)
            # add item content
            if self.name == strings.TYPE_POLICY:
                self.item_widget.addWidget(eval(self.list_item[i]))
            elif self.name == strings.TYPE_MAP:
                self.item_widget.addWidget(MapDescription(self.list_str[i]))
Example #5
0
    def __init__(self):
        super(ModelTrain, self).__init__()
        self.setObjectName('ModelTrain')
        self.setStyleSheet(
            GetQssFile.readQss('../resource/qss/modelTrain.qss'))

        self.log = logging.getLogger('StarCraftII')

        # font
        font = QFont()
        font.setWeight(50)
        font.setPixelSize(15)

        # set widget of layout
        self.frame = QFrame(self)
        self.frame.setGeometry(QDesktopWidget().screenGeometry())
        self.main_layout = QHBoxLayout(self)
        self.main_layout.setSpacing(20)
        self.setLayout(self.main_layout)

        # model tarin
        self.modelTrain = QPushButton()
        self.modelTrain.setObjectName('modelTrain')
        self.modelTrainLabel = QLabel('model train')
        self.modelTrainLabel.setFont(font)
        self.modelTrain_layout = QVBoxLayout()
        self.modelTrain_layout.addWidget(self.modelTrain,
                                         alignment=Qt.AlignCenter)
        self.modelTrain_layout.addWidget(self.modelTrainLabel,
                                         alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.modelTrain_layout)

        # a description dialog
        self.dialog = None
        # add stretch
        self.main_layout.addStretch(1)

        # initialization
        self.initUI()
    def __init__(self):
        super(SituationInformation, self).__init__()
        self.setObjectName('SituationInformation')
        self.setStyleSheet(
            GetQssFile.readQss('../resource/qss/situationInformation.qss'))

        self.log = logging.getLogger('StarCraftII')

        # font
        font = QFont()
        font.setWeight(50)
        font.setPixelSize(15)

        # set widget of layout
        self.frame = QFrame(self)
        self.frame.setGeometry(QDesktopWidget().screenGeometry())
        self.main_layout = QHBoxLayout(self)
        self.main_layout.setSpacing(20)
        self.setLayout(self.main_layout)

        # consumption action
        self.consumption = QPushButton()
        self.consumption.setObjectName('consumption')
        self.consumptionLabel = QLabel('consumption')
        self.consumptionLabel.setFont(font)
        self.consumption_layout = QVBoxLayout()
        self.consumption_layout.addWidget(self.consumption,
                                          alignment=Qt.AlignCenter)
        self.consumption_layout.addWidget(self.consumptionLabel,
                                          alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.consumption_layout)

        # resource action
        self.resource = QPushButton()
        self.resource.setObjectName('resource')
        self.resourceLabel = QLabel('resource')
        self.resourceLabel.setFont(font)
        self.resource_layout = QVBoxLayout()
        self.resource_layout.addWidget(self.resource, alignment=Qt.AlignCenter)
        self.resource_layout.addWidget(self.resourceLabel,
                                       alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.resource_layout)

        # score action
        self.score = QPushButton()
        self.score.setObjectName('score')
        self.scoreLabel = QLabel('score')
        self.scoreLabel.setFont(font)
        self.score_layout = QVBoxLayout()
        self.score_layout.addWidget(self.score, alignment=Qt.AlignCenter)
        self.score_layout.addWidget(self.scoreLabel, alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.score_layout)

        # output action
        self.output = QPushButton()
        self.output.setObjectName('output')
        self.outputLabel = QLabel('output')
        self.outputLabel.setFont(font)
        self.output_layout = QVBoxLayout()
        self.output_layout.addWidget(self.output, alignment=Qt.AlignCenter)
        self.output_layout.addWidget(self.outputLabel,
                                     alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.output_layout)

        # a description dialog
        self.dialog = None

        # add stretch
        self.main_layout.addStretch(1)

        # initialization
        self.initUI()
    def __init__(self):
        super(OperationalPlanning, self).__init__()
        self.setObjectName('OperationalPlanning')
        self.setStyleSheet(GetQssFile.readQss('../resource/qss/operationalPlanning.qss'))

        self.log = logging.getLogger('StarCraftII')
        # test fix algorithm
        self.algorithm = None
        self.algorithmThread = None

        # font
        font = QFont()
        font.setWeight(50)
        font.setPixelSize(15)

        # set widget of layout
        self.frame = QFrame(self)
        self.frame.setGeometry(QDesktopWidget().screenGeometry())
        self.main_layout = QHBoxLayout(self)
        self.main_layout.setSpacing(20)
        self.setLayout(self.main_layout)

        # start action
        self.start = QPushButton()
        self.start.setObjectName('start')
        self.startLabel = QLabel('start')
        self.startLabel.setFont(font)
        self.start_layout = QVBoxLayout()
        self.start_layout.addWidget(self.start, alignment=Qt.AlignCenter)
        self.start_layout.addWidget(self.startLabel, alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.start_layout)

        # pause action
        # self.pause = QPushButton()
        # self.pause.setObjectName('pause')
        # self.pauseLabel = QLabel('pause')
        # self.pauseLabel.setFont(font)
        # self.pause_layout = QVBoxLayout()
        # self.pause_layout.addWidget(self.pause, alignment=Qt.AlignCenter)
        # self.pause_layout.addWidget(self.pauseLabel, alignment=Qt.AlignCenter)
        # self.main_layout.addLayout(self.pause_layout)

        # stop action
        self.stop = QPushButton()
        self.stop.setObjectName('stop')
        self.stopLabel = QLabel('stop')
        self.stopLabel.setFont(font)
        self.stop_layout = QVBoxLayout()
        self.stop_layout.addWidget(self.stop, alignment=Qt.AlignCenter)
        self.stop_layout.addWidget(self.stopLabel, alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.stop_layout)

        # switch policy action
        self.switch = QPushButton()
        self.switch.setObjectName('switch')
        self.switchLabel = QLabel('switch policy')
        self.switchLabel.setFont(font)
        self.switch_layout = QVBoxLayout()
        self.switch_layout.addWidget(self.switch, alignment=Qt.AlignCenter)
        self.switch_layout.addWidget(self.switchLabel, alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.switch_layout)

        # simulation time
        self.lcd = QLCDNumber()
        self.lcd.setObjectName('lcd')
        self.lcd.setDigitCount(10)
        self.lcd.setMode(QLCDNumber.Dec)
        self.lcd.setSegmentStyle(QLCDNumber.Flat)
        self.lcd.setFrameStyle(QFrame.Panel | QFrame.Raised)
        self.lcd.display(time.strftime("%X", time.localtime()))
        self.lcdLabel = QLabel('simulation time')
        self.lcdLabel.setFont(font)
        self.lcd_layout = QVBoxLayout()
        self.lcd_layout.addWidget(self.lcd, alignment=Qt.AlignBottom)
        self.lcd_layout.addWidget(self.lcdLabel, alignment=Qt.AlignBottom)
        self.main_layout.addLayout(self.lcd_layout)

        # define time
        self.qtime = QTimer()
        self.qtime.timeout.connect(self.refresh)

        # define global variable
        global interval
        interval = 0
        global start_or_pause
        start_or_pause = False
        global stop
        stop = True

        # map description
        self.map = QPushButton()
        self.map.setObjectName('map')
        self.mapLabel = QLabel('map description')
        self.mapLabel.setFont(font)
        self.map_layout = QVBoxLayout()
        self.map_layout.addWidget(self.map, alignment=Qt.AlignCenter)
        self.map_layout.addWidget(self.mapLabel, alignment=Qt.AlignCenter)
        self.main_layout.addLayout(self.map_layout)

        # add stretch
        self.main_layout.addStretch(1)

        # popup window
        self.dialog = None

        # initialization
        self.initUI()