Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Как получить список всех шрифтов (QFontDatabase)? [RSS Feed]

#1 Ноя. 25, 2017 00:03:44

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

Как получить список всех шрифтов (QFontDatabase)?

Как получить список всех шрифтов, установленных в операционной системе?

 lst_f = QtGui.QFontDatabase()
lst_f.families()
print(lst_f)
Чего-то тут не хватает…
——-
Пока смог сделать список, вытянув значения через QFontComboBox(), но это не лучший вариант.

Отредактировано Kyrym (Ноя. 28, 2017 12:57:16)

Офлайн

#2 Ноя. 28, 2017 09:29:20

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как получить список всех шрифтов (QFontDatabase)?

Kyrym
Чего-то тут не хватает…
да вроде все правильно:
        
...
        lst_f = QtGui.QFontDatabase()
        font_list = lst_f.families()
        print(font_list)
...
>>>
['Aharoni', 'Algerian', 'Andalus'....., 'Wingdings 3']



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Ноя. 28, 2017 10:05:56

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

Как получить список всех шрифтов (QFontDatabase)?

PEHDOM
да вроде все правильно:
Просто результатом данного кода является:
 <PyQt4.QtGui.QFontDatabase object at 0x7f554c09a908>
Т.е. это надо превратить в список.
 # Python 3. PyQt4
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
# ГРАФИКА
class Window(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.resize(200, 50) # шир / выс окна         
# БЛОК РАЗМЕТКИ
        self.vbox = QtGui.QVBoxLayout()
        # ---
        self.btn = QtGui.QPushButton('Пуск')
        self.btn.clicked.connect(self.on_click)
        self.vbox.addWidget(self.btn)
        # ---
        self.setLayout(self.vbox)
    # ЛОГИКА
    
    def on_click (self):
        lst_f = QtGui.QFontDatabase()
        lst_f.families()
        print(lst_f)
# КОНЕЦ
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = Window()   
    window.show()
    sys.exit(app.exec_())

Отредактировано Kyrym (Ноя. 28, 2017 10:18:20)

Офлайн

#4 Ноя. 28, 2017 11:59:12

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как получить список всех шрифтов (QFontDatabase)?

Kyrym
Просто результатом данного кода является:
lst_f = QtGui.QFontDatabase() - экзампляр класса QFontDatabase
lst_f.families() возвращает список всех шрифтов, тоесть просто выполнить недостаточно, нужно результат кудато деть, или связать с переменной, или передать аргументом. Я связал с перемнной font_list:
font_list = lst_f.families()
теперь со списком мы можем делать что хотим.. например распечатать
print(font_list)
и получаем:
 ['Aharoni', 'Algerian', 'Andalus'....., 'Wingdings 3']



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 28, 2017 12:00:16)

Офлайн

#5 Ноя. 28, 2017 12:56:36

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

Как получить список всех шрифтов (QFontDatabase)?

PEHDOM
связать с переменной
Так вот оно что. Теперь понятно.

Офлайн

  • Начало
  • » GUI
  • » Как получить список всех шрифтов (QFontDatabase)?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version