本文整理汇总了Python中PyQt5.QtGui.QFontMetrics方法的典型用法代码示例。如果您正苦于以下问题:Python QtGui.QFontMetrics方法的具体用法?Python QtGui.QFontMetrics怎么用?Python QtGui.QFontMetrics使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtGui
的用法示例。
在下文中一共展示了QtGui.QFontMetrics方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, themes, dataModel, viewMode):
self.width = 0
self.height = 0
self.dataModel = dataModel
self.viewMode = viewMode
self.qpix = self._getNewPixmap(self.width, self.height)
self.backgroundBrush = QtGui.QBrush(themes['background'])
# text font
self.font = themes['font']
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
示例2: highligting
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
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)
示例3: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, dataModel, viewMode):
self.width = 0
self.height = 0
self.dataModel = dataModel
self.viewMode = viewMode
self.qpix = self._getNewPixmap(self.width, self.height)
self.backgroundBrush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
# text font
self.font = QtGui.QFont('Terminus', 11, QtGui.QFont.Light)
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
示例4: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, dataModel, viewMode, elfplugin):
self.width = 0
self.height = 0
self.dataModel = dataModel
self.viewMode = viewMode
self.qpix = self._getNewPixmap(self.width, self.height)
self.backgroundBrush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
self.elfplugin = elfplugin
self.elf = self.elfplugin.elf
# text font
self.font = QtGui.QFont('Terminus', 11, QtGui.QFont.Bold)
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
示例5: on_player_song_changed
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def on_player_song_changed(self, song):
if song is None:
self.song_source_label.setText('歌曲来源')
self.song_title_label.setText('No song is playing.')
return
source_name_map = {p.identifier: p.name
for p in self._app.library.list()}
font_metrics = QFontMetrics(QApplication.font())
text = '{} - {}'.format(song.title_display, song.artists_name_display)
# width -> three button + source label + text <= progress slider
# three button: 63, source label: 150
elided_text = font_metrics.elidedText(
text, Qt.ElideRight, self.progress_slider.width() - 200)
self.song_source_label.setText(source_name_map[song.source])
self.song_title_label.setText(elided_text)
loop = asyncio.get_event_loop()
loop.create_task(self.update_mv_btn_status(song))
示例6: lineCountToWidgetHeight
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def lineCountToWidgetHeight(self, num_lines):
""" Returns the number of pixels corresponding to the height of specified number of lines
in the default font. """
# ASSUMPTION: The document uses only the default font
assert num_lines >= 0
widget_margins = self.contentsMargins()
document_margin = self.document().documentMargin()
font_metrics = QFontMetrics(self.document().defaultFont())
# font_metrics.lineSpacing() is ignored because it seems to be already included in font_metrics.height()
return (
widget_margins.top() +
document_margin +
max(num_lines, 1) * font_metrics.height() +
self.document().documentMargin() +
widget_margins.bottom()
)
示例7: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, themes, dataModel, viewMode):
self.width = 0
self.height = 0
self.dataModel = dataModel
self.viewMode = viewMode
self.qpix = self._getNewPixmap(self.width, self.height)
self.backgroundBrush = QtGui.QBrush(themes['background'])
# text font
self.font = themes['font']
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
示例8: on_table_selection_changed
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def on_table_selection_changed(self):
min_row, max_row, start, end = self.ui.tableMessages.selection_range()
if min_row == -1:
self.ui.lEncodingValue.setText("-") #
self.ui.lEncodingValue.setToolTip("")
self.label_list_model.message = None
return
container = self.table_model.protocol
message = container.messages[min_row]
self.label_list_model.message = message
decoder_name = message.decoder.name
metrics = QFontMetrics(self.ui.lEncodingValue.font())
elidedName = metrics.elidedText(decoder_name, Qt.ElideRight, self.ui.lEncodingValue.width())
self.ui.lEncodingValue.setText(elidedName)
self.ui.lEncodingValue.setToolTip(decoder_name)
self.ui.cBoxModulations.blockSignals(True)
self.ui.cBoxModulations.setCurrentIndex(message.modulator_index)
self.show_modulation_info()
self.ui.cBoxModulations.blockSignals(False)
示例9: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, themes, width, height, data, cursor, widget=None):
super(SourceViewMode, self).__init__()
self.themes = themes
self.dataModel = data
self.addHandler(self.dataModel)
self.width = width
self.height = height
self.cursor = cursor
self.widget = widget
self.refresh = True
# background brush
self.backgroundBrush = QtGui.QBrush(self.themes['background'])
# text font
self.font = self.themes['font']
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self._fontWidth = fm.width('a')
self._fontHeight = fm.height()
self.textPen = QtGui.QPen(self.themes['pen'], 0, QtCore.Qt.SolidLine)
self.resize(width, height)
self.Paints = {}
self.Ops = []
self.newPix = None
self.selector = TextSelection.DefaultSelection(themes, self)
self.LINES = self.dataModel.current_class.get_source().split('\n')
示例10: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, qp, rows, cols):
self.qp = qp
self._x = 0
self._y = 0
self._rows = rows
self._cols = cols
fm = QtGui.QFontMetrics(self.qp.font())
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
示例11: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, themes, width, height, data, cursor, widget=None):
super(BinViewMode, self).__init__()
self.dataModel = data
self.addHandler(self.dataModel)
self.themes = themes
self.width = width
self.height = height
self.cursor = cursor
self.widget = widget
self.refresh = True
self.selector = TextSelection.DefaultSelection(themes, self)
# background brush
self.backgroundBrush = QtGui.QBrush(self.themes['background'])
self.font = self.themes['font']
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self._fontWidth = fm.width('a')
self._fontHeight = fm.height()
self.textPen = QtGui.QPen(self.themes['pen'], 0, QtCore.Qt.SolidLine)
self.resize(width, height)
self.Paints = {}
self.newPix = None
self.Ops = []
示例12: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, qp, rows, cols):
self.qp = qp
self._x = 0
self._y = 0
self._rows = rows
self._cols = cols
fm = QtGui.QFontMetrics(self.qp.font())
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
示例13: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, width, height, data, cursor, widget=None, plugin=None):
super(BinViewMode, self).__init__()
self.dataModel = data
self.addHandler(self.dataModel)
self.width = width
self.height = height
self.cursor = cursor
self.widget = widget
self.refresh = True
self.selector = TextSelection.DefaultSelection(self)
# background brush
self.backgroundBrush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
# text font
#self.font = QtGui.QFont('Terminus (TTF)', 12, QtGui.QFont.Light)
#self.font.setStyleHint(QtGui.QFont.AnyStyle, QtGui.QFont.PreferBitmap)
self.font = QtGui.QFont('Terminus', 11, QtGui.QFont.Light)
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self._fontWidth = fm.width('a')
self._fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
self.resize(width, height)
self.Paints = {}
self.newPix = None
self.Ops = []
self.plugin = plugin
示例14: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, dataModel, viewMode, peplugin):
self.width = 0
self.height = 0
self.dataModel = dataModel
self.viewMode = viewMode
self.qpix = self._getNewPixmap(self.width, self.height)
self.backgroundBrush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
self.peplugin = peplugin
initPE = True
try:
self.PE = pefile.PE(data=dataModel.getData())
except:
initPE = False
# text font
self.font = QtGui.QFont('Terminus', 11, QtGui.QFont.Bold)
# font metrics. assume font is monospaced
self.font.setKerning(False)
self.font.setFixedPitch(True)
fm = QtGui.QFontMetrics(self.font)
self.fontWidth = fm.width('a')
self.fontHeight = fm.height()
self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine)
if initPE == False:
return
示例15: __init__
# 需要导入模块: from PyQt5 import QtGui [as 别名]
# 或者: from PyQt5.QtGui import QFontMetrics [as 别名]
def __init__(self, controller, parent=None):
super().__init__(parent)
self.setupUi(self)
self._controller = controller
current_model = self._controller.get_model()
self._current_map = None
self.colormap.addItems(['-- Use global --'] + current_model.get_config().get_available_colormaps())
self.colormap.currentIndexChanged.connect(self._update_colormap)
self.data_clipping_min.valueChanged.connect(self._update_clipping_min)
self.data_clipping_max.valueChanged.connect(self._update_clipping_max)
self.data_scale_min.valueChanged.connect(self._update_scale_min)
self.data_scale_max.valueChanged.connect(self._update_scale_max)
self.data_set_use_scale.stateChanged.connect(self._set_use_scale)
self.use_data_scale_min.stateChanged.connect(self._set_use_data_scale_min)
self.use_data_scale_max.stateChanged.connect(self._set_use_data_scale_max)
self.data_set_use_clipping.stateChanged.connect(self._set_use_clipping)
self.use_data_clipping_min.stateChanged.connect(self._set_use_data_clipping_min)
self.use_data_clipping_max.stateChanged.connect(self._set_use_data_clipping_max)
self._title_timer = TimedUpdate(self._update_map_title)
self.map_title.textChanged.connect(lambda: self._title_timer.add_delayed_callback(500))
self.map_title.setFixedHeight(QFontMetrics(self.map_title.font()).lineSpacing() * 3)
self._colorbar_label_timer = TimedUpdate(self._update_colorbar_label)
self.data_colorbar_label.textChanged.connect(lambda : self._colorbar_label_timer.add_delayed_callback(500))
self.data_colorbar_label.setFixedHeight(QFontMetrics(self.data_colorbar_label.font()).lineSpacing() * 3)
self.info_Clipping.set_collapse(True)
self._auto_enable_scale_min = False
self._auto_enable_scale_max = False
self._auto_enable_clipping_min = False
self._auto_enable_clipping_max = False
self.reset()
self._update_scaling_delays()