Я читаю учебник по PySide, и я думал, мне нужно найти свои собственные значки для каждой вещи или есть способ использовать некоторые встроенные значки. Таким образом, мне не нужно было бы найти новый набор значков, если бы я хотел, чтобы мой маленький ги работал в другой среде рабочего стола.
Есть ли значки по умолчанию в PyQt/PySide?
Ответ 1
Вам нужна функция Pyside QIcon.fromTheme. В основном он создает объект QIcon с нужным значком из текущей системной темы.
Использование:
undoicon = QIcon.fromTheme("edit-undo")
"edit undo" - имя значка "type" / "function" можно найти здесь
Это работает на системах X11, для MacOSX и Windows проверьте документацию QIcon QIcon.fromTheme
Изменить. Вставьте это с веб-сайта, так как в последний раз это была неработающая ссылка.
static PySide.QtGui.QIcon. fromTheme (name [, fallback = QIcon()])
Параметры:
- имя - unicode
- резервный - PySide.QtGui.QIcon
Тип возврата:
Возвращает PySide.QtGui.QIcon, соответствующий имени в текущей теме значка. Если такой значок не найден в текущей теме вместо этого возвращается возврат.
Последняя версия спецификации значка freedesktop и спецификации именования можно получить здесь:
- http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
- http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
Чтобы получить значок из текущей темы значка:
undoicon = QIcon.fromTheme("edit-undo")
Или если вы хотите обеспечить гарантированный резерв для платформ, которые не поддерживают значки тем, вы можете использовать второй аргумент:
undoicon = QIcon.fromTheme("edit-undo", QIcon(":/undo.png"))
Примечание
По умолчанию только X11 будет поддерживать тематические значки. Чтобы использовать тематические значки на Mac и Windows, вам придется связать совместимую тему в одном из PySide.QtGui.QIcon.themeSearchPaths() и установите соответствующий PySide.QtGui.QIcon.themeName().
См. также
Ответ 2
Я не думаю, что это относится к какой-либо привязке, вы можете проверить общую документацию qt
Ответ 3
Существует еще один способ получить доступ к некоторым стандартным встроенным значкам в PyQt/PySide, используя стандартную pixmap в стиле по умолчанию. Например, следующее создает значок для открытия файла:
self.style().standardIcon(QtGui.QStyle.SP_DialogOpenButton)
Полный список стандартных растровых изображений см.:
Ответ 4
У меня проблемы с поиском изображений стандартных значков, поэтому для справок в будущем: http://nukesaq88.hatenablog.com/entry/2013/04/12/005525
И код, который я использую (PyQt4, Pyside, вероятно, похоже):
# In method of QMainWindow subclass
stdicon = self.style().standardIcon
style = QtGui.QStyle
reload_foo = QtGui.QAction(stdicon(style.SP_BrowserReload), '&Reload', self)
Было бы неплохо, если бы (явно автогенерированные) Qt docs имели изображения в таблице перечисления standardIcons...
Ответ 5
в PyQt, значок окна по умолчанию является логотипом Qt. Я думаю, вам нужно будет найти свои собственные значки для вещей внутри gui.