def startUp(): fontId = QFontDatabase().addApplicationFont("DefaultResources/DefaultFont.ttf") fontName = QFontDatabase().applicationFontFamilies(fontId)[0] font = QFont(fontName) font.setPixelSize(40) global DEFAULT_FONT DEFAULT_FONT = QFont(font)
def loadFonts(): fontIDs = [] fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSRegular.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSItalic.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSBold.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSBoldItalic.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSSemibold.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/opensans/OSSemiboldItalic.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/ubuntu/Ubuntu-Regular.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/ubuntu/Ubuntu-Italic.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/ubuntu/Ubuntu-Bold.ttf"))) fontIDs.append(QFontDatabase().addApplicationFont( os.path.join(os.getcwd(), "qml/assets/fonts/ubuntu/Ubuntu-BoldItalic.ttf"))) return fontIDs
def wn_init(self): JC_LOG.info(self.tm_wai('Initializing ...')) self.wu_mw = QMainWindow() self.wu_mw.setWindowTitle(GC_APP_NM) self.wu_mw.showEvent = lambda _: self.wn_shown() self.wu_mw.closeEvent = lambda _: self.wn_quit() self.wu_cw = QWidget() self.wu_lo = QVBoxLayout() self.wu_pb = QPushButton() self.wu_pb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.wu_pb.pressed.connect(self.wn_change_font) self.wu_lb = QLabel() self.wu_lb.setAlignment(Qt.AlignCenter) for bu2_qo in [QWidget(), self.wu_pb, self.wu_lb]: self.wu_lo.addWidget(bu2_qo) self.wu_cw.setLayout(self.wu_lo) self.wu_fnt_families = QFontDatabase().families() self.wv_fnt_idx = len(self.wu_fnt_families) - 1 self.wv_msg = '' self.wu_mw.setCentralWidget(self.wu_cw) self.wu_mw.resize(650, 200) self.wu_mw.show() self.wu_mw.raise_() self.wn_move_center() self.wn_change_font() self.getContext().system().scheduler().schedule( CjDuration.Zero(), CjDuration.create(100, CjTimeUnit.MILLISECONDS), self.getSelf(), CjSymbol('LNextFont'), self.getContext().system().dispatcher(), None)
def load_fonts(): fonts = ('Montserrat-Regular.ttf', 'Montserrat-Italic.ttf', 'Montserrat-Medium.ttf', 'Montserrat-SemiBold.ttf', 'Montserrat-Bold.ttf') for i in fonts: QFontDatabase().addApplicationFont(f'resources/fonts/{i}')
def __init__(self, *args): super().__init__(*args) """ # SAVED THIS FOR LATER! # Read in config (linux) config = configparser.ConfigParser() try: config.read(str(Path.home())+"/.linnaeo/config.ini") # Open last used workspace automatically. if config['RECENTS']['LAST'] != "": last = config['RECENTS']['LAST'] f = QFile(last) f.open(QIODevice.ReadOnly) model = workspace.WorkspaceModel() f.close() self.workspaceTree.setModel(model) except: print("No config file found!") """ self.mode = "Light" self.fonts = QFontDatabase() self.defFontId = self.fonts.addApplicationFont( ':/fonts/Default-Noto.ttf') self.defFontId2 = self.fonts.addApplicationFont( ':/fonts/LiberationMono.ttf') # For some reason, Noto does not work on Mac or Windows. But does for SS display??? self.defFont = QFont(self.fonts.applicationFontFamilies(self.defFontId2)[0], 10) \ if sys.platform in ['win32', 'darwin'] else QFont(self.fonts.applicationFontFamilies(self.defFontId)[0], 10)
def wn_init(self): JC_LOG.info(self.tm_wai('Initializing ...')) self.wu_mw = QMainWindow() self.wu_mw.setWindowTitle(GC_APP_NM) self.wu_mw.showEvent = lambda _: self.wn_shown() self.wu_mw.closeEvent = lambda _: self.wn_quit() self.wu_cw = QWidget() self.wu_lo = QVBoxLayout() self.wu_pb = QPushButton() self.wu_pb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.wu_pb.pressed.connect(self.wn_change_font) self.wu_lb = QLabel() self.wu_lb.setAlignment(Qt.AlignCenter) for bu2_qo in [QWidget(), self.wu_pb, self.wu_lb]: self.wu_lo.addWidget(bu2_qo) self.wu_cw.setLayout(self.wu_lo) self.wu_fnt_families = QFontDatabase().families() self.wv_fnt_idx = len(self.wu_fnt_families) - 1 self.wv_msg = '' self.wu_mw.setCentralWidget(self.wu_cw) self.wu_mw.resize(650, 200) self.wu_mw.show() self.wu_mw.raise_() self.wn_move_center() self.wn_change_font() self.startTimer(100)
def __init__(self): #Constructor super().__init__() font_db = QFontDatabase() font_id = font_db.addApplicationFont("Fonts\Quicksand.otf") families = font_db.applicationFontFamilies(font_id)
def add_font_widgets(self, toolbar: QToolBar): self.combo_Paragraph = QComboBox(toolbar) toolbar.addWidget(self.combo_Paragraph) self.combo_Paragraph.addItem("Paragraph") self.combo_Paragraph.addItem("Bullet List (Disc)") self.combo_Paragraph.addItem("Bullet List (Circle)") self.combo_Paragraph.addItem("Bullet List (Square)") self.combo_Paragraph.addItem("Ordered List (Decimal)") self.combo_Paragraph.addItem("Ordered List (Alpha lower)") self.combo_Paragraph.addItem("Ordered List (Alpha upper)") self.combo_Paragraph.addItem("Ordered List (Roman lower)") self.combo_Paragraph.addItem("Ordered List (Roman upper)") self.combo_Paragraph.activated.connect(self.textStyle) self.combo_Font = QFontComboBox(toolbar) toolbar.addWidget(self.combo_Font) self.combo_Font.activated[str].connect(self.textFamily) self.combo_Font_Size = QComboBox(toolbar) self.combo_Font_Size.setObjectName("combo_Font_Size") toolbar.addWidget(self.combo_Font_Size) self.combo_Font_Size.setEditable(True) db = QFontDatabase() for size in db.standardSizes(): self.combo_Font_Size.addItem(f"{size}") self.combo_Font_Size.activated[str].connect(self.textSize) self.combo_Font_Size.setCurrentIndex( self.combo_Font_Size.findText( f"{QApplication.font().pointSize()}"))
def __init__(self, parent=None): super(HelpDialog, self).__init__(parent, flags=QtCore.Qt.FramelessWindowHint) self.setupUi(self) self.setAttribute(Qt.WA_TranslucentBackground, True) self.parent = parent self.fontDatabase = QFontDatabase() self.fontDatabase.addApplicationFont( APP_FOLDER + "/resources/fonts/JackportCollegeNcv-1MZe.ttf") self.fontDatabase.addApplicationFont( APP_FOLDER + "/resources/fonts/Rosemary-Bold.ttf") self.Header1.setFont(QFont("JACKPORT COLLEGE NCV", 42)) self.tePage1.setFont(QFont("Rosemary", 32)) self.tePage2.setFont(QFont("Rosemary", 32)) self.tePage1.setAttribute(Qt.WA_StyledBackground, (True)) self.tePage2.setAttribute(Qt.WA_StyledBackground, (True)) self.tePage2.hide() self.bBack.setFont(QFont("JACKPORT COLLEGE NCV", 34)) self.bBack.clicked.connect(self.backClicked) self.bFwd.clicked.connect(self.fwdClicked) self.bBwd.clicked.connect(self.bwdClicked) handCurImg = QPixmap(APP_FOLDER + "/resources/images/handCursor.png") scrlCurImg = QPixmap(APP_FOLDER + "/resources/images/scrollCursor.png") self.window().setCursor(QCursor(handCurImg, 15, 2)) self.tePage1.viewport().setCursor(QCursor(handCurImg, 15, 2)) self.tePage2.viewport().setCursor(QCursor(scrlCurImg, 31, 1))
def updateFamily(self, currentItem, previousItem): """Update the family edit box and adjust the style and size options. Arguments: currentItem -- the new list widget family item previousItem -- the previous list widget item """ family = currentItem.text() self.familyEdit.setText(family) if self.familyEdit.hasFocus(): self.familyEdit.selectAll() prevStyle = self.styleEdit.text() prevSize = self.sizeEdit.text() fontDb = QFontDatabase() styles = [style for style in fontDb.styles(family)] self.styleList.clear() self.styleList.addItems(styles) if prevStyle: try: num = styles.index(prevStyle) except ValueError: num = 0 self.styleList.setCurrentRow(num) self.styleList.scrollToItem(self.styleList.currentItem()) sizes = [repr(size) for size in fontDb.pointSizes(family)] self.sizeList.clear() self.sizeList.addItems(sizes) if prevSize: try: num = sizes.index(prevSize) except ValueError: num = 0 self.sizeList.setCurrentRow(num) self.sizeList.scrollToItem(self.sizeList.currentItem()) self.updateSample()
def set_country_for_locale(self, languageCode): self.clear() self.codesList = [] self.countryList = [] for locale in QLocale.matchingLocales(QLocale(languageCode).language(), QLocale.AnyScript, QLocale.AnyCountry): codeName = locale.name().split("_")[-1] if codeName not in self.codesList: self.codesList.append(codeName) self.codesList.sort() for country in self.codesList: locale = QLocale(languageCode+"-"+country) if locale: countryName = locale.nativeCountryName() self.countryList.append(countryName.title()) self.setIconSize(QSize(32, 22)) codeIcon = QImage(self.iconSize(), QImage.Format_ARGB32) painter = QPainter(codeIcon) painter.setBrush(Qt.transparent) codeIcon.fill(Qt.transparent) font = QFontDatabase().systemFont(QFontDatabase.FixedFont) painter.setFont(font) painter.setPen(self.palette().color(QPalette.Text)) painter.drawText(codeIcon.rect(), Qt.AlignCenter,country) painter.end() self.addItem(QIcon(QPixmap.fromImage(codeIcon)), countryName.title())
def setFont(self, font): """Set the font selector to the given font. Arguments: font -- the QFont to set. """ fontInfo = QFontInfo(font) family = fontInfo.family() matches = self.familyList.findItems(family, Qt.MatchExactly) if matches: self.familyList.setCurrentItem(matches[0]) self.familyList.scrollToItem(matches[0], QAbstractItemView.PositionAtTop) style = QFontDatabase().styleString(fontInfo) matches = self.styleList.findItems(style, Qt.MatchExactly) if matches: self.styleList.setCurrentItem(matches[0]) self.styleList.scrollToItem(matches[0]) else: self.styleList.setCurrentRow(0) self.styleList.scrollToItem(self.styleList.currentItem()) size = repr(fontInfo.pointSize()) matches = self.sizeList.findItems(size, Qt.MatchExactly) if matches: self.sizeList.setCurrentItem(matches[0]) self.sizeList.scrollToItem(matches[0])
def set_font(self, font: QFont = None): qfd = QFontDatabase() if font: info = QFontInfo(font) if info.styleHint() != QFont.Monospace: self.logger.warning("font: Please use monospaced font! " f"Unsupported font {info.family}.") font = qfd.systemFont(QFontDatabase.FixedFont) elif "Menlo" in qfd.families(): font = QFont("Menlo") info = QFontInfo(font) else: font = qfd.systemFont(QFontDatabase.FixedFont) info = QFontInfo(font) font.setPointSize(12) self.font = font metrics = QFontMetrics(font) self.char_width = metrics.horizontalAdvance("A") self.char_height = metrics.height() self.line_height = int(self.char_height * 1.2) self.logger.info(f"font: Font {info.family()} selected, character " f"size {self.char_width}x{self.char_height}.") self.row_len = int(self._width / self.char_width) self.col_len = int(self._height / self.line_height)
def __init__(self, parent=None): super(QComboBox, self).__init__(parent) for i in range(1, 357): locale = QLocale(i) if locale and QLocale.languageToString(locale.language()) != "C": codeName = locale.name().split("_")[0] if codeName not in self.codesList: self.codesList.append(codeName) self.codesList.sort() for lang in self.codesList: locale = QLocale(lang) if locale: languageName = QLocale.languageToString(locale.language()) self.languageList.append(languageName.title()) self.setIconSize(QSize(32, 22)) codeIcon = QImage(self.iconSize(), QImage.Format_ARGB32) painter = QPainter(codeIcon) painter.setBrush(Qt.transparent) codeIcon.fill(Qt.transparent) font = QFontDatabase().systemFont(QFontDatabase.FixedFont) painter.setFont(font) painter.setPen(self.palette().color(QPalette.Text)) painter.drawText(codeIcon.rect(), Qt.AlignCenter,lang) painter.end() self.addItem(QIcon(QPixmap.fromImage(codeIcon)), languageName.title())
def set_default_font(font, size): fontDataBase = QFontDatabase() defaultSettings = QWebEngineSettings.globalSettings() standardFont = fontDataBase.font(font, "", 12) defaultSettings.setFontFamily(QWebEngineSettings.StandardFont, standardFont.family()) defaultSettings.setFontSize(QWebEngineSettings.DefaultFontSize, size)
def __init__(self): self.app = QGuiApplication(sys.argv + ['--style', 'material']) fontdatabase = QFontDatabase() fontdatabase.addApplicationFont("fonts/Exo2-Regular.ttf") exo = QFont("Exo 2", 15) self.app.setFont(exo) self.engine = QQmlApplicationEngine() self.bridge = Bridge(self.app, self.engine) #responder a KeyboardInterrupt signal.signal(signal.SIGINT, signal.SIG_DFL) self.engine.rootContext().setContextProperty("bridge", self.bridge) self.engine.load("assets/main.qml") listDicts = csvInterpreter.readCSV("components.csv") for d in listDicts: self.bridge.createComponent(d) # self.bridge.updateComponents(bytearray.fromhex('5553501408010401080110011F')) self.engine.quit.connect(self.app.quit) self.app.exec()
def wn_init(self): self.wu_atr_fx_main = ... self.wu_wgt = QMainWindow() self.wu_wgt.setWindowTitle(f'{GC_APP_NM} - PyQt') self.wu_cw = QWidget() self.wu_lo = QVBoxLayout() self.wu_pb = QPushButton() self.wu_pb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.wu_pb.pressed.connect(self.won_change_font) self.wu_lb = QLabel() self.wu_lb.setAlignment(Qt.AlignCenter) for bu2_qo in [QWidget(), self.wu_pb, self.wu_lb]: self.wu_lo.addWidget(bu2_qo) self.wu_cw.setLayout(self.wu_lo) self.wu_fnt_families = QFontDatabase().families() GC_LOG.info( f'{self.__class__.__name__} : Total fonts => {len(self.wu_fnt_families)}' ) self.wv_fnt_idx = len(self.wu_fnt_families) - 1 self.wv_msg = '' self.wn_change_font(False) self.wu_wgt.setCentralWidget(self.wu_cw) self.wu_wgt.resize(650, 250) self.wu_wgt.show() self.wu_wgt.raise_() self.wn_move_center()
def __init__(self, asset_path: Union[Path, str]) -> None: super().__init__(asset_path) self.gui_font_db = QFontDatabase() self.load_new_fonts() self.gui_font = qApp.font() self.gui_font_fixed = QFontDatabase.systemFont(QFontDatabase.FixedFont)
def data(self, role=Qt.DisplayRole, *args, **kwargs): if role == Qt.DisplayRole: value = self.collapsed_format(self.value) if isinstance(value, str) and value.isnumeric(): value = int(value) if self.field == 'file': value = os.path.basename(value) return value elif role == Qt.DecorationRole: if self.field == 'file': icon_type = QFileIconProvider.File return QFileIconProvider().icon(icon_type) elif role == Qt.ToolTipRole: if len(self.value) > 1: return json.dumps(self.value) elif role == Qt.EditRole: return json.dumps(self.value) elif role == Qt.FontRole: fontdb = QFontDatabase() if self.field == 'key': return fontdb.systemFont(QFontDatabase.FixedFont) else: return fontdb.systemFont(QFontDatabase.GeneralFont) elif role == Qt.UserRole: return self.value
def __init__(self, parent=None): super().__init__(parent) # Lock textedit for readonly mode self.setReadOnly(True) #self.setAcceptRichText(False) #self.setUndoRedoEnabled(False) # Add and set font font_db = QFontDatabase() font_db.addApplicationFont( "/users/jkantoja/Develop/apluslms/roman-qt/apluslms_roman_qt/DejaVuSansMono.ttf" ) font = self.currentFont() font.setFamily("DejaVu Sans Mono") self.setFont(font) # Calculate tab stop ts = QFontMetrics(font).width('a') * 4 self.setTabStopWidth(ts) # Background color and default font color palette = self.palette() palette.setColor(QPalette.Base, ColorPalette.BLACK.value) palette.setColor(QPalette.Text, ColorPalette.WHITE.value) self.setPalette(palette) self.setTextColor(ColorPalette.WHITE.value)
def dropEvent(self, event: QDropEvent) -> None: if event.mimeData().hasUrls: event.setDropAction(Qt.CopyAction) event.accept() for url in event.mimeData().urls(): item = ResourcesItem() extension = os.path.splitext(url.fileName())[1] if extension == ".png" or extension == ".jpg" or extension == ".jpeg" or extension == ".bmp": item.setWhatsThis("Image") item.setIcon(QIcon(url.toLocalFile())) item.mySetData(QPixmap(url.toLocalFile())) elif extension == ".ttf": item.setWhatsThis("Font") item.setIcon(QIcon("Images/FontIcon.png")) fontId = QFontDatabase().addApplicationFont(url.toLocalFile()) item.mySetData(str(fontId)) else: return item.setText(os.path.splitext(url.fileName())[0]) item.mySetUrl(url.toLocalFile()) self.addItem(item) else: event.ignore()
def refresh_font_db() -> None: # XXX: # Qt doesn't expose API to refresh the fonts, so we try to trick it into # invalidating its internal database by adding a dummy application font. # On Linux, this works with `fc-cache -r`. font_db = QFontDatabase() font_db.addApplicationFont(str(ASSETS_DIR / "AdobeBlank.ttf")) font_db.removeAllApplicationFonts()
def setup_lexer(self): fontdb = QFontDatabase() self.lexer = QsciLexerMarkdown() self.lexer.setDefaultFont(fontdb.font('Source Code Pro', 'Regular', 11)) # TODO autocompletion of links does not work self.api = QsciAPIWiki(self.lexer) self.api.prepare()
def load_fonts(app): """ 注册字体文件 """ app.font_dir = path = os.path.join(os.path.dirname(__file__), 'ui', 'source', 'font') for name in os.listdir(path): QFontDatabase.addApplicationFont(os.path.join(path, name)) font_db = QFontDatabase()
def load_fonts(): """ 注册字体文件 """ path = 'pyminer2/ui/source/font' for name in os.listdir(path): QFontDatabase.addApplicationFont(os.path.join(path, name)) font_db = QFontDatabase()
def reset(self, log_widget=None): self._log = [] self._tree_model.reset() self._misc_model.reset() # needs to be reset for the LilyPond-dependent fonts self.font_db = QFontDatabase() self._is_loaded = False
def readFont(self): """Return the selected font or None. """ family = self.familyEdit.text() style = self.styleEdit.text() size = self.sizeEdit.text() if family and style and size: return QFontDatabase().font(family, style, int(size)) return None
def updateStyle(self, fontStyle): fontDatabase = QFontDatabase() oldStrategy = self.displayFont.styleStrategy() self.displayFont = fontDatabase.font(self.displayFont.family(), fontStyle, self.displayFont.pointSize()) self.displayFont.setStyleStrategy(oldStrategy) self.squareSize = max(24, QFontMetrics(self.displayFont).xHeight() * 3) self.adjustSize() self.update()
def __init__(self): super().__init__() self.setTextFormat(Qt.PlainText) self.setFont( QFontDatabase().systemFont(QFontDatabase.FixedFont) ) self.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Expanding )
def load_icon_font(cls): ''' 加载图标字体 ''' fontawesome_id = QFontDatabase().addApplicationFont( ':font/fontawesome-webfont.ttf') fontawesome_name = QFontDatabase.applicationFontFamilies( fontawesome_id)[0] cls.iconFontNames['fontawesome'] = fontawesome_name