def setMemoFont(self): ''' @note:: 系统设定字体 当字体不存在时,程序可以正常运行,但是界面可能奇怪 @attention:: 可能出现警告 ''' self.fontTitle = Font(setting.MSYAHEI).getFont() # 自己写的字体类 self.fontContent = Font(setting.MSYAHEI).getFont() self.fontTime = Font(setting.UBUNTUMONO).getFont() self.fontTitle.setPointSize(17) self.titleLabel.setFont(self.fontTitle) self.contentLabel.setFont(self.fontContent) self.timeLabel.setFont(self.fontTime)
def make_text(matrix, text): height = matrix.height width = matrix.width font = Font('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', height//2) text_bitmap = font.render_text(text) x_off = (width - text_bitmap.width) // 2 y_off = (height - text_bitmap.height) // 2 def pixel(matrix, x, y, t): text_x = x - x_off text_y = y - y_off text_p = None if text_y < 0 or text_x < 0 or text_y >= text_bitmap.height or text_x >= text_bitmap.width: text_p = False else: text_p = text_bitmap.get(text_x, text_y) if text_p != (simp(matrix, y, x, t/2.0) == BLACK): return COLOR return BLACK return pixel
def make_text(stdscr, text): (scr_h, scr_w) = stdscr.getmaxyx() height = 2 * scr_h width = 2 * scr_w font = Font('/System/Library/Fonts/Monaco.dfont', min(height, 50)) text_bitmap = font.render_text(text) x_off = (width - text_bitmap.width) // 2 y_off = (height - text_bitmap.height) // 2 def pixel(y, x, t): text_x = x - x_off text_y = y - y_off text_p = None if text_y < 0 or text_x < 0 or text_y >= text_bitmap.height or text_x >= text_bitmap.width: text_p = False else: text_p = text_bitmap.get(text_x, text_y) return text_p != (not simp(y, x, t / 2.0) and y % 2 == 0) return pixel
def __init__(self, size, **kwargs): """ Constructor @param size: Object's size @keyword default_font: The object's default font. """ super(Container, self).__init__(size, **kwargs) self.children = list() self.default_font = kwargs.get("default_font", Font("default", "Helvetica", 10))
def get_font(typeid): global fonts if typeid in fonts: return fonts[typeid] if typeid is 0: typeid = 4 filename = daggerfall.get_abspath("FONT%04d.FNT" % (typeid - 1)) font = Font(filename) fonts[typeid] = font return font
class MemoWidget(QtGui.QWidget, MemoWidget_Ui): '''主窗口类功能实现''' def __init__(self): super(MemoWidget, self).__init__() self.setupUi(self) self.initObjects() self.setObjects() def initObjects(self): pass def setObjects(self): ''' @note:: 设置几个label的一些属性 ''' self.setMemoFont() self.setMemoTypeset() self.titleLabel.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.timeLabel.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse) self.contentLabel.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.scrollArea.setWidgetResizable(True) def setMemoTypeset(self): ''' @note:: 设置memo标题等的排版 ''' self.titleLabel.setIndent(14) self.titleLabel.setMargin(0) self.contentLabel.setMargin(0) self.timeLabel.setIndent(14) self.contentLabel.setIndent(14) self.contentLabel.setScaledContents(True) self.contentLabel.setWordWrap(True) self.scrollArea.setWidget(self.contentLabel) def setMemoFont(self): ''' @note:: 系统设定字体 当字体不存在时,程序可以正常运行,但是界面可能奇怪 @attention:: 可能出现警告 ''' self.fontTitle = Font(setting.MSYAHEI).getFont() # 自己写的字体类 self.fontContent = Font(setting.MSYAHEI).getFont() self.fontTime = Font(setting.UBUNTUMONO).getFont() self.fontTitle.setPointSize(17) self.titleLabel.setFont(self.fontTitle) self.contentLabel.setFont(self.fontContent) self.timeLabel.setFont(self.fontTime) def mouseDoubleClickEvent(self, event): ''' @note:: 先设置objectName(获取) ''' log.info("mouse double click") if event.button() == QtCore.Qt.LeftButton: log.info("left") self.memoedit = MemoEdit() self.memoedit.show()
display = SevenSegmentDisplay(name) print('-' * 76) print('name: %s' % display.name) print('number of digits: %u (pixels %u)' % (display.digits, display.digits_pixels)) print('number of colons: %u (pixels %u)' % (display.colons, display.colons_pixels)) print('segment order: %s' % display.segment_order_str) print('digit pixels: %u' % display.num_pixels_digits) print('colon pixels: %u' % display.num_pixels_colons) print('total pixels: %u' % display.num_pixels) elif args.action == 'fonts': for idx, font in enumerate(Font.get_available_fonts().values()): print('#%u %s' % (idx, font)) elif args.action == 'testgfx': canvas = ConsoleCanvas(50, 11, '██', True) cfg = ('Tiny3x3a_2pt', 1, 5, None) cfg = ('Picopixel_5pt', 2, 6, None) cfg = ('simple_small_pixels_4pt', 0, 8, 0) cfg = ('Dialog_8pt', 2, 6, 0) cfg = ('digital_7_mono_8pt', 0, 6, 6) cfg = list(cfg) font = Font(cfg[0], canvas)
class MemoWidget(QtGui.QWidget, MemoWidget_Ui): '''主窗口类功能实现''' def __init__(self): super(MemoWidget, self).__init__() self.setupUi(self) self.initObjects() self.setObjects() def initObjects(self): pass def setObjects(self): ''' @note:: 设置几个label的一些属性 ''' self.setMemoFont() self.setMemoTypeset() self.titleLabel.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.timeLabel.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.contentLabel.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.scrollArea.setWidgetResizable(True) def setMemoTypeset(self): ''' @note:: 设置memo标题等的排版 ''' self.titleLabel.setIndent(14) self.titleLabel.setMargin(0) self.contentLabel.setMargin(0) self.timeLabel.setIndent(14) self.contentLabel.setIndent(14) self.contentLabel.setScaledContents(True) self.contentLabel.setWordWrap(True) self.scrollArea.setWidget(self.contentLabel) def setMemoFont(self): ''' @note:: 系统设定字体 当字体不存在时,程序可以正常运行,但是界面可能奇怪 @attention:: 可能出现警告 ''' self.fontTitle = Font(setting.MSYAHEI).getFont() # 自己写的字体类 self.fontContent = Font(setting.MSYAHEI).getFont() self.fontTime = Font(setting.UBUNTUMONO).getFont() self.fontTitle.setPointSize(17) self.titleLabel.setFont(self.fontTitle) self.contentLabel.setFont(self.fontContent) self.timeLabel.setFont(self.fontTime) def mouseDoubleClickEvent(self, event): ''' @note:: 先设置objectName(获取) ''' log.info("mouse double click") if event.button() == QtCore.Qt.LeftButton: log.info("left") self.memoedit = MemoEdit() self.memoedit.show()