Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
 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))
Exemplo n.º 5
0
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
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
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)
Exemplo n.º 9
0
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()