Python源码示例:PyQt5.QtGui.QColor()
示例1
def highligting(self, color, underline_width):
color = QColor(color)
color = QColor(color.red(), color.green(), color.blue(), 200)
painter = QPainter(self)
if config.hover_underline:
font_metrics = QFontMetrics(self.font())
text_width = font_metrics.width(self.word)
text_height = font_metrics.height()
brush = QBrush(color)
pen = QPen(brush, underline_width, Qt.SolidLine, Qt.RoundCap)
painter.setPen(pen)
if not self.skip:
painter.drawLine(0, text_height - underline_width, text_width, text_height - underline_width)
if config.hover_hightlight:
x = y = 0
y += self.fontMetrics().ascent()
painter.setPen(color)
painter.drawText(x, y + config.outline_top_padding - config.outline_bottom_padding, self.word)
示例2
def drawCursor(self, qp):
cursorX, cursorY = self.cursor.getPosition()
log.debug("%s / %s", cursorX, cursorY)
xstart = cursorX
if cursorY not in self.OPCODES:
log.warning("Impossible to find instruction at cursor %d, %d" % (cursorY, len(self.OPCODES)))
return
asm = self.OPCODES[cursorY]
width = asm.getSelectionWidth(xstart)
qp.setBrush(QtGui.QColor(255, 255, 0))
qp.setOpacity(0.5)
qp.drawRect(xstart * self.fontWidth,
cursorY * self.fontHeight,
width * self.fontWidth,
self.fontHeight + 2)
qp.setOpacity(1)
示例3
def drawAdditionals(self):
self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER)
qp = QtGui.QPainter()
qp.begin(self.newPix)
qp.drawPixmap(0, 0, self.qpix)
# self.transformationEngine.decorateText()
# highlight selected text
self.selector.highlightText()
# draw other selections
self.selector.drawSelections(qp)
# draw our cursor
self.drawCursor(qp)
# draw dword lines
for i in range(self.COLUMNS // 4)[1:]:
xw = i * 4 * 3 * self.fontWidth - 4
qp.setPen(QtGui.QColor(0, 255, 0))
qp.drawLine(xw, 0, xw, self.ROWS * self.fontHeight)
qp.end()
示例4
def handleEditMode(self, modifiers, key, event):
if key in range(0, 256):
offs = self.getCursorOffsetInPage()
self.dataModel.setData_b(self.dataModel.getOffset() + offs, str(event.text()))
z = self.dataModel.getOffset() + offs
# TODO: sa nu se repete, tre original_transformengine
self.transformationEngine = RangePen(self.original_textdecorator, z, z + 0,
QtGui.QPen(QtGui.QColor(218, 94, 242), 0, QtCore.Qt.SolidLine),
ignoreHighlights=True)
self.moveCursor(Directions.Right)
x, y = self.cursor.getPosition()
self.draw(refresh=True, row=y, howMany=1)
示例5
def test_highlighted(qtbot):
"""Make sure highlighting works.
Note that with Qt 5.11.3 and > 5.12.1 we need to call setPlainText *after*
creating the highlighter for highlighting to work. Ideally, we'd test
whether CompletionItemDelegate._get_textdoc() works properly, but testing
that is kind of hard, so we just test it in isolation here.
"""
doc = QTextDocument()
completiondelegate._Highlighter(doc, 'Hello', Qt.red)
doc.setPlainText('Hello World')
# Needed so the highlighting actually works.
edit = QTextEdit()
qtbot.addWidget(edit)
edit.setDocument(doc)
colors = [f.foreground().color() for f in doc.allFormats()]
assert QColor('red') in colors
示例6
def _make_vector_renderer(layer, class_field, class_map):
category_map = {}
colors = ['Blue', 'Red', 'Green', 'Yellow']
for i, class_item in enumerate(class_map.get_items()):
name = class_item.name
color = class_item.color
if color is None:
color = colors[i % len(colors)]
category_map[name] = (color, name)
categories = []
for name, (color, label) in category_map.items():
symbol = QgsSymbol.defaultSymbol(layer.geometryType())
symbol_layer = QgsSimpleLineSymbolLayer()
symbol_layer.setWidth(0.5)
symbol.changeSymbolLayer(0, symbol_layer)
symbol.setColor(QColor(color))
category = QgsRendererCategory(label, symbol, name)
categories.append(category)
renderer = QgsCategorizedSymbolRenderer(class_field, categories)
return renderer
示例7
def boxclose(self):
teamname = self.open_screen.OpenTheTeam.text()
myteam= sqlite3.connect('TEAM.db')
curser= myteam.cursor()
curser.execute("SELECT PLAYERS from team WHERE NAMES= '"+teamname+"';")
hu= curser.fetchall()
self.listWidget.clear()
for i in range(len(hu)):
item= QtWidgets.QListWidgetItem(hu[i][0])
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
item.setBackground(QtGui.QColor('sea green'))
self.listWidget.addItem(item)
self.openDialog.close()
示例8
def paintEvent(self, event):
painter = QPainter()
painter.begin(self)
painter.setRenderHint(QPainter.Antialiasing)
painter.fillRect(event.rect(), QBrush(QColor(255, 255, 255, 200)))
painter.setPen(QPen(Qt.NoPen))
if self.lists is not None:
path = os.path.abspath(os.path.dirname(__file__)) + '/static/'
path += self.lists[self.list_index] + '.png'
self.list_index += 1
if self.list_index >= len(self.lists):
self.list_index = 0
image = QImage(path)
rect_image = image.rect()
rect_painter = event.rect()
dx = (rect_painter.width() - rect_image.width()) / 2.0
dy = (rect_painter.height() - rect_image.height()) / 2.0
painter.drawImage(dx, dy, image)
painter.end()
示例9
def add_polygons(self, polygons, color = '#A8F22A', alpha = 1):
qcolor = QColor()
qcolor.setNamedColor(color)
qcolor.setAlphaF(alpha)
for points in polygons:
qpoly = QPolygonF( [QPointF(p[0], p[1]) for p in points] )
scene_poly = self.scene.addPolygon(qpoly)
scene_poly.setBrush(qcolor)
scene_poly.setPen(self.pen)
self.scene_polys.append(scene_poly)
# Update custom bounding box
sr = scene_poly.sceneBoundingRect()
if len(self.scene_polys) == 1:
self.scene_xmin = sr.left()
self.scene_xmax = sr.right()
self.scene_ymin = sr.top()
self.scene_ymax = sr.bottom()
else:
self.scene_xmin = min(self.scene_xmin, sr.left())
self.scene_xmax = max(self.scene_xmax, sr.right())
self.scene_ymin = min(self.scene_ymin, sr.top())
self.scene_ymax = max(self.scene_ymax, sr.bottom())
示例10
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.detector = Detector()
self.mediaThread = MediaThread(self)
sys.stdout = common.EmittingStream(textWritten=self.normalOutputWritten)
self.debugSignal.connect(self.debugTable)
self.currentFrame = None
self.bgColor = QColor(255, 255, 255)
self.bgPath = ''
self.classifiersParameters = {}
self.setupUI()
self.populateUI()
self.connectUI()
self.initUI()
示例11
def populateTree(self, node, parent):
"""Create a QTreeView node under 'parent'.
"""
item = QtGui.QStandardItem(node)
h, s, v = Detector.getDefaultHSVColor(node)
color = QColor()
color.setHsvF(h, s, v)
item.setIcon(self.getIcon(color))
# Unique hash for QStandardItem
key = hash(item)
while key in self.classifiersParameters:
key += 1
item.setData(key)
cp = ClassifierParameters(item.data(), node, node, color,
self.SHAPE_RECT, self.FILL_OUTLINE)
self.classifiersParameters[key] = cp
parent.appendRow(item)
return item
示例12
def __init__(self):
QtWidgets.QWidget.__init__(self)
uic.loadUi("window.ui", self)
self.scene = QtWidgets.QGraphicsScene(0, 0, 511, 511)
self.mainview.setScene(self.scene)
self.image = QImage(511, 511, QImage.Format_ARGB32_Premultiplied)
self.pen = QPen()
self.color_line = QColor(Qt.black)
self.color_bground = QColor(Qt.white)
self.draw_once.clicked.connect(lambda: draw_once(self))
self.clean_all.clicked.connect(lambda: clear_all(self))
self.btn_bground.clicked.connect(lambda: get_color_bground(self))
self.btn_line.clicked.connect(lambda: get_color_line(self))
self.draw_centr.clicked.connect(lambda: draw_centr(self))
layout = QtWidgets.QHBoxLayout()
layout.addWidget(self.what)
layout.addWidget(self.other)
self.setLayout(layout)
self.circle.setChecked(True)
self.canon.setChecked(True)
#self.circle.toggled.connect(lambda : change_text(self))
示例13
def drawSelected(self, qp):
qp.setFont(self.font)
cursorX, cursorY = self.cursor.getPosition()
if len(self.OPCODES) - 1 < cursorY:
return
asm = self.OPCODES[cursorY]
cx, width, text = asm.getSelectedToken(cursorX)
cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS)
for i, asm in enumerate(self.OPCODES):
for idx, length, value in asm.tokens():
# skip current cursor position
if cursorY == i and cursorX == idx:
continue
# check every line, if match, select it
if value == text:
qp.setOpacity(0.4)
brush=QtGui.QBrush(QtGui.QColor(0, 255, 0))
qp.fillRect(idx*self.fontWidth, i*self.fontHeight + 2 , width*self.fontWidth, self.fontHeight, brush)
qp.setOpacity(1)
示例14
def drawAdditionals(self):
self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER)
qp = QtGui.QPainter()
qp.begin(self.newPix)
qp.drawPixmap(0, 0, self.qpix)
#self.transformationEngine.decorateText()
# highlight selected text
self.selector.highlightText()
# draw other selections
self.selector.drawSelections(qp)
# draw our cursor
self.drawCursor(qp)
# draw dword lines
for i in range(self.COLUMNS//4)[1:]:
xw = i*4*3*self.fontWidth - 4
qp.setPen(QtGui.QColor(0, 255, 0))
qp.drawLine(xw, 0, xw, self.ROWS*self.fontHeight)
qp.end()
示例15
def init(self, viewMode, parent):
self.viewMode = viewMode
self.MZbrush = QtGui.QBrush(QtGui.QColor(128, 0, 0))
self.greenPen = QtGui.QPen(QtGui.QColor(255, 255, 0))
self.textDecorator = TextDecorator(viewMode)
self.textDecorator = HighlightASCII(self.textDecorator)
self.textDecorator = HighlightPrefix(self.textDecorator, '\x55\xAA', brush=self.MZbrush, pen=self.greenPen)
self.viewMode.setTransformationEngine(self.textDecorator)
self.viewMode.selector.addSelection((446, 446+1*16, QtGui.QBrush(QtGui.QColor(125, 75, 150)), 0.8), type=TextSelection.SelectionType.PERMANENT)
self.viewMode.selector.addSelection((446+16, 446+2*16, QtGui.QBrush(QtGui.QColor(55, 125, 50)), 0.8), type=TextSelection.SelectionType.PERMANENT)
self.viewMode.selector.addSelection((446+2*16, 446+3*16, QtGui.QBrush(QtGui.QColor(125, 75, 150)), 0.8), type=TextSelection.SelectionType.PERMANENT)
self.viewMode.selector.addSelection((446+3*16, 446+4*16, QtGui.QBrush(QtGui.QColor(55, 125, 50)), 0.8), type=TextSelection.SelectionType.PERMANENT)
return True
示例16
def format(color, style=''):
"""Return a QTextCharFormat with the given attributes.
"""
_color = QColor()
_color.setNamedColor(color)
_format = QTextCharFormat()
_format.setForeground(_color)
if 'bold' in style:
_format.setFontWeight(QFont.Bold)
if 'italic' in style:
_format.setFontItalic(True)
return _format
# Syntax styles that can be shared by all languages
示例17
def paint_slider_on(self, painter):
swidth = int((self.width() / 2) - 2)
sheight = int(self.height() - 2)
painter.setBrush(QtGui.QBrush(QtGui.QColor(60,90,150,200)))
painter.drawRoundedRect(self.contentsRect(), 3, 3)
painter.setBrush(QtGui.QBrush(self.bgcolor_slider))
painter.drawRoundedRect(swidth+3, 1, swidth, sheight, 2, 2)
painter.setPen(QtGui.QColor(255,255,255,220))
painter.drawText(2, 1, swidth, sheight, Qt.AlignCenter | Qt.AlignVCenter, 'On')
示例18
def paint_slider_off(self, painter):
swidth = int((self.width() / 2) - 2)
sheight = int(self.height() - 2)
painter.setBrush(QtGui.QBrush(QtGui.QColor(0,0,0,50)))
painter.drawRoundedRect(self.contentsRect(), 3, 3)
painter.setBrush(QtGui.QBrush(self.bgcolor_slider))
painter.drawRoundedRect(3, 1, swidth, sheight, 2, 2)
painter.setPen(QtGui.QColor(0,0,0,150))
painter.drawText(swidth+3, 1, swidth, sheight, Qt.AlignCenter | Qt.AlignVCenter, 'Off')
示例19
def hex_to_qcolor(hexstr):
hexstr = hexstr.lstrip('#')
if len(hexstr) == 6:
return QtGui.QColor(*struct.unpack('BBB', bytes.fromhex(hexstr)))
elif len(hexstr) == 8:
return QtGui.QColor(*struct.unpack('BBBB', bytes.fromhex(hexstr)))
raise Exception('Invalid hexstr format: %s' % hexstr)
示例20
def __init__(self, etree, control, parent=None):
QtWidgets.QFrame.__init__(self)
self.autoscale = True # Autoscale max value
self.bgcolor = QtGui.QColor(255,255,255,10) # Chart background color
self.colors = [QtGui.QColor(255,0,0)] # Chart line colors
self.interval = None # Set update sec for smooth scrolling
self.maxvalue = 1 # Max value in dataset
self.minmax = 1 # Minimum max value
self.pxperpt = 3 # Pixels per point
self.showzero = True # Plot zero values
self.data = []
self.numpoints = None
self.offset = 0
pkmixins.LayoutMixin._init(self, etree, control, parent)
示例21
def __init__(self, etree, control, parent=None):
QtWidgets.QFrame.__init__(self)
self.bgcolor = QtGui.QColor(255,255,255,13) # Chart background color
self.colors = [QtGui.QColor(255,0,0)] # Chart line colors
self.data = [] # Current plot data
pkmixins.LayoutMixin._init(self, etree, control, parent)
示例22
def drawSelected(self, qp):
qp.setFont(self.font)
cursorX, cursorY = self.cursor.getPosition()
if len(self.OPCODES) - 1 < cursorY:
return
asm = self.OPCODES[cursorY]
_, width, text = asm.getSelectedToken(cursorX)
for i, asm in enumerate(self.OPCODES):
for idx, length, value in asm.tokens():
# skip current cursor position
if cursorY == i and cursorX == idx:
continue
# check every line, if match, select it
if value == text:
qp.setOpacity(0.4)
brush = QtGui.QBrush(QtGui.QColor(0, 255, 0))
qp.fillRect(idx * self.fontWidth,
i * self.fontHeight + 2,
width * self.fontWidth,
self.fontHeight,
brush)
qp.setOpacity(1)
示例23
def _drawRow(self, qp, cemu, row, asm, offset=-1):
log.debug('DRAW AN INSTRUCTION %s %s %s %s %s', asm, row, asm.get_name(), len(asm.get_operands(offset)), hex(self.getPageOffset()))
qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine))
hex_data = asm.get_hex()
# write hexdump
cemu.writeAt(0, row, hex_data)
# fill with spaces
cemu.write((MNEMONIC_COLUMN - len(hex_data)) * ' ')
# let's color some branch instr
# if asm.isBranch():
# qp.setPen(QtGui.QPen(QtGui.QColor(255, 80, 0)))
# else:
qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine))
mnemonic = asm.get_name()
cemu.write(mnemonic)
# leave some spaces
cemu.write((MNEMONIC_WIDTH - len(mnemonic)) * ' ')
if asm.get_symbol():
qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine))
cemu.write_c('[')
qp.setPen(QtGui.QPen(QtGui.QColor('yellow'), 1, QtCore.Qt.SolidLine))
cemu.write(asm.get_symbol())
qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine))
cemu.write_c(']')
self._write_operands(asm, qp, cemu, offset)
self._write_comments(asm, qp, cemu, offset)
示例24
def _write_comments(self, asm, qp, cemu, offset):
comments = asm.get_comments()
if comments:
cemu.write(30 * ' ')
qp.setPen(QtGui.QPen(QtGui.QColor(82, 192, 192), 1, QtCore.Qt.SolidLine))
cemu.write('; "{0}"'.format(' '.join(comments)))
示例25
def drawCursor(self, qp):
cursorX, cursorY = self.cursor.getPosition()
xstart = cursorX
width = 1
qp.setBrush(QtGui.QColor(255, 255, 0))
qp.setOpacity(0.5)
qp.drawRect(xstart * self.fontWidth, cursorY * self.fontHeight, width * self.fontWidth, self.fontHeight + 2)
qp.setOpacity(1)
示例26
def drawCursor(self, qp):
qp.setBrush(QtGui.QColor(255, 255, 0))
if self.isInEditMode():
qp.setBrush(QtGui.QColor(255, 102, 179))
cursorX, cursorY = self.cursor.getPosition()
columns = self.HexColumns[self.idxHexColumns]
if cursorX > columns:
self.cursor.moveAbsolute(columns - 1, cursorY)
# get cursor position again, maybe it was moved
cursorX, cursorY = self.cursor.getPosition()
qp.setOpacity(0.8)
if self.isInEditMode():
qp.setOpacity(0.5)
# cursor on text
qp.drawRect((self.COLUMNS * 3 + self.gap + cursorX) * self.fontWidth, cursorY * self.fontHeight + 2,
self.fontWidth, self.fontHeight)
# cursor on hex
if not self.isInEditMode():
qp.drawRect(cursorX * 3 * self.fontWidth, cursorY * self.fontHeight + 2, 2 * self.fontWidth,
self.fontHeight)
else:
if self.highpart:
qp.drawRect(cursorX * 3 * self.fontWidth, cursorY * self.fontHeight + 2, 1 * self.fontWidth,
self.fontHeight)
else:
qp.drawRect(cursorX * 3 * self.fontWidth + self.fontWidth, cursorY * self.fontHeight + 2,
1 * self.fontWidth, self.fontHeight)
qp.setOpacity(1)
示例27
def selectionChanged(self, selected, deselected):
item = self.ann_w.treeWidget.currentItem()
if item:
offset = item.getOffset()
size = item.getSize()
u = offset
v = offset + size
self.selector.addSelection((u, v, QtGui.QBrush(QtGui.QColor(125, 255, 0)), 0.2),
type=TextSelection.SelectionType.NORMAL)
self.goTo(u)
示例28
def onColorPicker(self):
"""
Show color-picker dialog to select color.
Qt will use the native dialog by default.
"""
dlg = QtGui.QColorDialog(QtGui.QColor(self._color), None)
# if self._color:
# dlg.setCurrentColor(QtGui.QColor(self._color))
if dlg.exec_():
self.setColor(dlg.currentColor().name())
示例29
def drawCursor(self, qp):
cursorX, cursorY = self.cursor.getPosition()
qp.setBrush(self.themes['background_cursor'])
if self.isInEditMode():
qp.setBrush(QtGui.QColor(255, 102, 179))
qp.setOpacity(0.8)
qp.drawRect(cursorX * self.fontWidth, cursorY * self.fontHeight, self.fontWidth, self.fontHeight + 2)
qp.setOpacity(1)
示例30
def test_qcolor_to_qsscolor_invalid():
with pytest.raises(qtutils.QtValueError):
qtutils.qcolor_to_qsscolor(QColor())