def appendTest(self, t, l=None): if not l: l = self.liststack.currentWidget() groupIndex = self.liststack.indexOf(l) # should always be 0 self.testGroups[groupIndex].append(t) w = QtGui.QListWidgetItem(t.name or "", l) if t.comment: w.setToolTip(t.comment) w.setBackground(QtGui.QBrush(t.background))
def __init__(self): QtGui.QGraphicsItem.__init__(self) # qt graphics stuff self.selectedBrush = QtGui.QBrush(QtGui.QColor(150, 58, 70)) self.brush = QtGui.QBrush(QtGui.QColor(225, 223, 193)) self.setFlag(QtGui.QGraphicsItem.ItemIsSelectable) self.setZValue(5) # item rect self.rect = None # bezier points self.points = [] # selection flag self.isLinkSelected = False
def getRowColor(self, row): brush = QtGui.QBrush() brush.setStyle(QtCore.Qt.SolidPattern) brush.setColor(QtGui.QColor(255, 255, 255)) if self.formatSql.isDropInfo: if row['isSpoil'] == True: # NOQA brush.setColor(QtGui.QColor(200, 250, 200)) return brush
def __init__(self, path, normal, highlighted, pen, position, maxSize): DisplayShape.__init__(self, position, maxSize) self.normalBrush = normal self.path = path self.highlightedBrush = highlighted self.pen = pen self.brush = QtGui.QBrush(self.normalBrush)
def setBlackPen(self, qp): color = QtGui.QColor('#000000') color.setAlphaF(.5) pen = QtGui.QPen(color, 0, QtCore.Qt.SolidLine) brush = QtGui.QBrush(QtCore.Qt.SolidPattern) qp.setPen(pen) qp.setBrush(brush) return qp
def __init__(self): super(GScene, self).__init__() #Background Color self.setBackgroundBrush(QtGui.QBrush(QtGui.QColor(95, 95, 95))) #Context Menu self.menu = QtGui.QMenu() self.importAction = self.menu.addAction(QtGui.QIcon('%s/ImportFile.png' % mari_icon_path), 'Import Selected') self.copyAction = self.menu.addAction(QtGui.QIcon('%s/Copy.16x16.png' % mari_icon_path), 'Copy to Clipboard')
def add_logrecord(self, record): """ :type record: logging.LogRecord """ def clean_msg(msg): return msg.replace("\n", "") count = len(self.records) record.repeat_count = 1 if self.last_record: if record.getMessage() == self.last_record.getMessage(): item = self.records[-1] self.last_record.repeat_count += 1 item.setText("%s (repeated %s times)" % (clean_msg(self.last_record.getMessage()), self.last_record.repeat_count)) return if record.levelno == logging.DEBUG: return fg, bg = self.log_colors[record.levelno] item = QtGui.QStandardItem(clean_msg(record.getMessage())) try: item.setForeground(QtGui.QBrush(fg)) item.setBackground(QtGui.QBrush(bg)) item.record_levelno = record.levelno item.record_name = record.name except AttributeError as e: # WTF: AttributeError: 'PySide.QtOpenGL.QGLContext' object has no attribute 'setData' import pdb; pdb.set_trace() self.beginInsertRows(QtCore.QModelIndex(), len(self.records), len(self.records)) self.records.append(item) self.endInsertRows() if count > self.logLimit: self.beginRemoveRows(QtCore.QModelIndex(), 0, 0) self.records.pop(0) self.endRemoveRows() self.last_record = record self.dataChanged.emit(QtCore.QModelIndex(), QtCore.QModelIndex())
def paint(self, painter, option, widget): rect = self.boundingRect() painter.fillRect(rect, QtGui.QBrush(QtGui.QColor(255, 255, 255))) painter.setPen(QtGui.QPen(QtGui.QColor(0, 0, 0))) outer_bounding = QtCore.QRectF(rect.x() - 1, rect.y() - 1, rect.width() + 2, rect.height() + 2) painter.drawRect(outer_bounding)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.pen = QtGui.QPen() self.brush = QtGui.QBrush() self.antialiased = False self.transformed = False self.setBackgroundRole(QtGui.QPalette.Base)
def __init__(self, parent=None, size=6.0): super(NodeSizerItem, self).__init__(QtCore.QRectF(-size/2, -size/2, size, size), parent) self.posChangeCallbacks = [] self.setPen(QtGui.QPen(QtGui.QColor('#A18961'), 1)) self.setBrush(QtGui.QBrush(QtGui.QColor('#57431A'))) self.setFlag(self.ItemIsSelectable, False) self.setFlag(self.ItemIsMovable, True) self.setFlag(self.ItemSendsScenePositionChanges, True) self.setCursor(QtGui.QCursor(QtCore.Qt.SizeFDiagCursor))
def set_state(self, state): assert self.config is not None self.state = state stance_points = [] self.body.setPos(*self._project(_legtool.Point3D(), state.body_frame)) self.cog.setPos(*self._project(_legtool.Point3D(), state.cog_frame)) for leg_num, shoulder in self.shoulders.iteritems(): if leg_num >= len(state.legs): continue shoulder_frame = _legtool.Frame() self.state.make_shoulder( self.config.mechanical.leg_config[leg_num], shoulder_frame) shoulder.setPos(*self._project(_legtool.Point3D(), shoulder_frame)) for leg_num, leg_item in self.legs.iteritems(): if leg_num >= len(state.legs): continue leg = state.legs[leg_num] point = self._project(leg.point, leg.frame) leg_item.setPos(*point) shoulder_frame = _legtool.Frame() self.state.make_shoulder( self.config.mechanical.leg_config[leg_num], shoulder_frame) shoulder_point = shoulder_frame.map_from_frame( leg.frame, leg.point) ik_result = leg.leg_ik.do_ik( _legtool.Point3D(shoulder_point.x, shoulder_point.y, shoulder_point.z)) if not ik_result.valid(): color = QtCore.Qt.red elif leg.mode == _legtool.LegMode.kStance: color = QtCore.Qt.green stance_points.append(point) elif leg.mode == _legtool.LegMode.kSwing: color = QtCore.Qt.yellow else: assert False, 'unknown leg mode %d' % leg.mode leg_item.setBrush(QtGui.QBrush(color)) if len(stance_points) >= 3: self.support_poly.setVisible(True) hull = convexhull.convexHull(stance_points) poly = QtGui.QPolygonF([QtCore.QPointF(x, y) for x, y in hull]) self.support_poly.setPolygon(poly) else: self.support_poly.setVisible(False) self.resize()
def append(self, parent, meta): # print "adding %s to %s" % (self.name, parent.data(Qt.UserRole)) name_item = QtGui.QStandardItem(meta.name) identify = ('footprint', (self.name, meta.id)) name_item.setData(identify, Qt.UserRole) name_item.setToolTip(meta.desc) id_item = QtGui.QStandardItem(meta.id) id_item.setData(identify, Qt.UserRole) id_item.setToolTip(meta.desc) name_item.setEditable(False) # you edit them in the code id_item.setEditable(False) if meta.readonly: name_item.setForeground(QtGui.QBrush(Qt.gray)) id_item.setForeground(QtGui.QBrush(Qt.gray)) parent.appendRow([name_item, id_item]) self.items[meta.id] = name_item self.id_items[meta.id] = id_item return name_item
def _paint_point(self, painter, x, y): grad = QtGui.QRadialGradient(x, y, self.point_diameter / 2) grad.setColorAt(0, QtGui.QColor(0, 0, 0, max(self.point_strength, 0))) grad.setColorAt(1, QtGui.QColor(0, 0, 0, 0)) brush = QtGui.QBrush(grad) painter.setBrush(brush) painter.drawEllipse(x - self.point_diameter / 2, y - self.point_diameter / 2, self.point_diameter, self.point_diameter)
def highlight(self): self._ellipseItem.setBrush(QtGui.QBrush(self._color.lighter())) # make the port bigger to highlight it can accept the connection. self._ellipseItem.setRect( -self.__radius * 1.3, -self.__radius * 1.3, self.__diameter * 1.3, self.__diameter * 1.3, )
def _makePixmap(self, width, height): #why private? pixmap = QtGui.QPixmap(width, height) style = self.brushComboBox.itemData( self.brushComboBox.currentIndex()) #was: .toInt()[0] brush = QtGui.QBrush(self.color, QtCore.Qt.BrushStyle(style)) painter = QtGui.QPainter(pixmap) painter.fillRect(pixmap.rect(), QtCore.Qt.white) painter.fillRect(pixmap.rect(), brush) return pixmap
def queryData(self): if (self.smAsserts.rowCount() > 0): self.smAsserts.removeRows(0, self.smAsserts.rowCount()) conn = sqlite3.connect('HSAsserts.db') cursor = conn.cursor() sql = "select t.TDate, t.Code, c.Name , t.Type, t.TIndex, t.Price, t.Volume from d_trade t , b_code c \ where t.code = c.code and c.code ='{0}' and t.Account='{1}' \ order by t.TDate DESC".format( self.cbSecurity.itemData(self.cbSecurity.currentIndex()), self.cbAccount.currentText()) volList = [] tdateList = [] for row in cursor.execute(sql): itemrow = [] itemrow.append(QtGui.QStandardItem(row[0])) # TDate itemrow.append(QtGui.QStandardItem(row[1])) # Code itemrow.append(QtGui.QStandardItem(row[2])) # Name itemrow.append(QtGui.QStandardItem(row[3])) # Type itemrow.append(QtGui.QStandardItem(str(row[4]))) # TIndex itemrow.append(QtGui.QStandardItem('{0:.3f}'.format( row[5]))) # Price itemrow.append(QtGui.QStandardItem(str(row[6]))) # Volume self.smAsserts.appendRow(itemrow) volList.append(row[6]) tdateList.append(row[0]) itemrow = [] itemrow.append(QtGui.QStandardItem()) # TDate itemrow.append(QtGui.QStandardItem()) # Code itemrow.append(QtGui.QStandardItem()) # Name itemrow.append(QtGui.QStandardItem()) # Type itemrow.append(QtGui.QStandardItem()) # TIndex itemrow.append(QtGui.QStandardItem()) # Price itemrow.append(QtGui.QStandardItem(str(sum(volList)))) # Volume self.smAsserts.insertRow(0, itemrow) for i in range(0, len(volList) - 1): # 合并同一天的交易 if tdateList[i] == tdateList[i + 1]: volList[i + 1] = volList[i + 1] + volList[i] volList[i] = 0 totalSell = 0.0 # 累计卖出量 for v in volList: if v < 0: totalSell = totalSell + v for i in range(len(volList) - 1, -1, -1): if volList[i] > 0: totalSell = totalSell + volList[i] if totalSell > 0: # 累计买入超过累计卖出 self.smAsserts.item(i + 1, 0).setBackground( QtGui.QBrush(QtGui.QColor(255, 0, 0, 127))) self.smAsserts.item(0, 0).setText(str(totalSell)) break conn.close()
def backgroundButtonGroupClicked(self, button): buttons = self.backgroundButtonGroup.buttons() for myButton in buttons: if myButton != button: button.setChecked(False) text = button.text() if text == "Blue Grid": self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background1.png'))) elif text == "White Grid": self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background2.png'))) elif text == "Gray Grid": self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background3.png'))) else: self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background4.png'))) self.scene.update() self.view.update()
def attr_value(self, chandle, t, value): uuid = self.chandle_to_uuid[chandle] s = self.ble.uuid.value_to_string_by_uuid(uuid, value) # TODO temporarely change background to green, and start timer # to change it back svalue = self.chandle_to_value_item[chandle] svalue.setData(s, Qt.DisplayRole) svalue.setBackground(QtGui.QBrush(Qt.green)) self.chandle_to_timer[chandle].start(500.0)
def drawWidget(self, qp): box_height = self.size().height() bar_width = self.max_bar_width * self.value self.spacer.changeSize(bar_width, 0) color = QtGui.QColor(self.color) qp.setPen(QtGui.QPen(color)) qp.setBrush(QtGui.QBrush(color)) qp.drawRect(0, int(round(box_height / 4.0)), bar_width, int(round(box_height / 2.0)))
def drawSwitch(self, xx, yy): SWITCH_SIZE = 2. if (xx, yy) not in self.switches: point = self.intersect(xx, yy) self.switches[(xx, yy)] = self.scene.addEllipse( point.x() - SWITCH_SIZE / 2, point.y() - SWITCH_SIZE / 2, SWITCH_SIZE, SWITCH_SIZE, QtGui.QPen(), QtGui.QBrush(QtGui.QColor(0, 0, 0))) return self.switches[(xx, yy)]
def __init__(self, composition, *args, **kwargs): super(CompositionWidget, self).__init__(*args, **kwargs) self.composition = composition self.setBackgroundBrush(QtGui.QBrush(QtGui.QColor(64, 78, 87, 255))) self._adjust_scene_size() self._add_time_slider() self._add_tracks() self._add_markers()
def __init__(self, stack, *args, **kwargs): super(StackScene, self).__init__(*args, **kwargs) self.stack = stack self.setBackgroundBrush(QtGui.QBrush(QtGui.QColor(64, 78, 87, 255))) self._adjust_scene_size() self._add_time_slider() self._add_tracks() self._add_markers()
def paint(self, painter, option, widget): # show boundingRect for debug purposes #painter.setPen(QtGui.QPen(QtCore.Qt.red, 0, QtCore.Qt.SolidLine)) painter.setBrush(QtGui.QBrush(self.selectedColour)) painter.setPen(QtGui.QPen(QtCore.Qt.black, 1, QtCore.Qt.SolidLine)) painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.drawRoundedRect( QtCore.QRectF(self.x + 1, self.y + 1, self.width - 1, self.height - 1), 10, 10)
def paintBackground(self, painter, option): """ :type painter: QtGui.QPainter :type option: """ isSelected = option.state & QtGui.QStyle.State_Selected isMouseOver = option.state & QtGui.QStyle.State_MouseOver painter.setPen(QtGui.QPen(QtCore.Qt.NoPen)) visualRect = self.visualRect(option) if isSelected: color = self.backgroundSelectedColor() painter.setBrush(QtGui.QBrush(color)) elif isMouseOver: color = self.backgroundHoverColor() painter.setBrush(QtGui.QBrush(color)) else: color = self.backgroundColor() painter.setBrush(QtGui.QBrush(color)) painter.drawRect(visualRect)
def grader_launch(self, doc_name): if DEBUG: print("grader launch") self.listWidget.clear() mooc_session = self.comboBox.currentIndex() exercise = self.exercises_infos_list[mooc_session][2] grader_result = exercise.grader(doc_name) brush_green = QtGui.QBrush(QtGui.QColor(85, 170, 0)) brush_green.setStyle(QtCore.Qt.NoBrush) brush_red = QtGui.QBrush(QtGui.QColor(255, 0, 0)) brush_red.setStyle(QtCore.Qt.NoBrush) if grader_result: self.grader_messages = grader_result["messages"] self.grader_notes = grader_result["notes"] n = 0 for msg in self.grader_messages: self.listWidget.addItem(msg) if self.grader_notes[n] == 0: self.listWidget.item(n).setForeground(brush_red) self.listWidget.item(n).setIcon( QtGui.QIcon( os.path.join(moocWB_icons_path, 'window-close.svg'))) else: self.listWidget.item(n).setForeground(brush_green) self.listWidget.item(n).setIcon( QtGui.QIcon( os.path.join(moocWB_icons_path, 'dialog-apply.svg'))) n += 1 self.listWidget.setFixedWidth( self.listWidget.sizeHintForColumn(0) + 2 * self.listWidget.frameWidth()) else: if DEBUG: print("No results") self.grader_notes = None msgBox = QtWidgets.QMessageBox() msgBox.setText( app.Qt.translate("MOOC", "Cela n'a donné aucun résultat :(")) msgBox.exec_()
def generateWidget( self, dimensioningProcess, width = 60, height = 30 ): self.dimensioningProcess = dimensioningProcess clr = QtGui.QColor(*unsignedToRGB(self.dd_parms.GetUnsigned( self.name, self.defaultValue )) ) self.colorRect.setBrush( QtGui.QBrush( clr ) ) colorBox = QtGui.QGraphicsView( self.graphicsScene ) colorBox.setMaximumWidth( width ) colorBox.setMaximumHeight( height ) colorBox.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff ) colorBox.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff ) return DimensioningTaskDialog_generate_row_hbox( self.label, colorBox )
def paint(self, painter, option, widget): """ Draw the nub. """ painter.setBrush(QtGui.QBrush(QtCore.Qt.yellow)) painter.setPen(QtGui.QPen(QtCore.Qt.yellow, 0)) painter.drawPie( QtCore.QRectF(-2.5, self.parentItem().height / 2.0 - 2.5, 5, 5), 16 * 180, 16 * 180)
def resizeEvent(self, event): #重绘窗体背景 pal = QtGui.QPalette() pal.setBrush( QtGui.QPalette.Window, QtGui.QBrush( image.scaled(event.size(), QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.SmoothTransformation))) self.setPalette(pal)
def setbg(widget, filename): ''' 设置背景颜色或者图片,平铺 ''' widget.setAutoFillBackground(True) palette = QtGui.QPalette() pixmap = QtGui.QPixmap(filename) pixmap = pixmap.scaled(widget.size()) palette.setBrush(QtGui.QPalette.Background, QtGui.QBrush(pixmap)) widget.setPalette(palette)
def mark(self, repo): """mark a workbench as updatable""" for i in range(self.dialog.listWorkbenches.count()): w = self.dialog.listWorkbenches.item(i) if (w.text() == str(repo)) or w.text().startswith(str(repo)+" "): w.setText(str(repo) + str(" ("+translate("AddonsInstaller", "Update available")+")")) w.setForeground(QtGui.QBrush(QtGui.QColor(182, 90, 0))) if repo not in self.doUpdate: self.doUpdate.append(repo)