how full python user-interface icons pyqt pyside

python - full - ¿Hay iconos predeterminados en PyQt/PySide?



qt designer windows (7)

En PyQt5 , aquí hay un ejemplo simple de crear un botón pulsador con el icono de reproducción:

play_button = QtGui.QPushButton(''Play video'') play_button.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_MediaPlay))

La documentación de Qt5 proporciona una lista de los posibles iconos de SP ("Pixmap estándar"). Consulte enum QStyle::StandardPixmap aquí: http://doc.qt.io/qt-5/qstyle.html

Estoy leyendo un tutorial en PySide y estaba pensando, ¿necesito encontrar mis propios iconos para cada cosa o hay alguna forma de usar algunos iconos integrados? De esa manera, no necesitaría encontrar un conjunto de iconos completamente nuevo si quiero que mi pequeña interfaz gráfica de usuario se ejecute en otro entorno de escritorio.



Lo que necesitas es la función Pyside QIcon.fromTheme. Básicamente, crea un objeto QIcon con el ícono necesario del tema del sistema actual.

Uso:

undoicon = QIcon.fromTheme("edit-undo")

"editar deshacer": here se puede encontrar el nombre del icono "tipo" / "función"

Esto funciona en sistemas X11, para MacOSX y Windows verifique la documentación QIcon.fromTheme

Editar Insertar esto desde el sitio web, ya que la última vez fue un enlace roto.

PySide.QtGui.QIcon estático . fromTheme ( nombre [, fallback = QIcon ()] )

Parámetros:

Tipo de devolución:

PySide.QtGui.QIcon

Devuelve el PySide.QtGui.QIcon correspondiente al nombre en el tema del icono actual. Si no se encuentra dicho icono en el tema actual, se devuelve el respaldo.

La última versión de la especificación del icono de freedesktop y la especificación de denominación se pueden obtener aquí:

Para obtener un icono del tema del icono actual:

undoicon = QIcon.fromTheme("edit-undo")

O si desea proporcionar un respaldo garantizado para plataformas que no admiten iconos de temas, puede usar el segundo argumento:

undoicon = QIcon.fromTheme("edit-undo", QIcon(":/undo.png"))

Nota

De forma predeterminada, solo X11 admite iconos temáticos. Para usar iconos temáticos en Mac y Windows, deberá agrupar un tema compatible en uno de sus PySide.QtGui.QIcon.themeSearchPaths() y configurar el PySide.QtGui.QIcon.themeName() apropiado PySide.QtGui.QIcon.themeName() .

Ver también


No creo que esto sea específico para ningún enlace, puede consultar la documentación general de qt

mira here y here

pregunta relacionada


Otro ejemplo de PyQt5 que usa los iconos estándar (la respuesta de no me funcionó):

from PyQt5.QtWidgets import QApplication, QStyle from PyQt5.QtGui import QIcon desktop_icon = QIcon(QApplication.style().standardIcon(QStyle.SP_DesktopIcon)


Sigo teniendo problemas para encontrar imágenes de los íconos estándar, así que para futuras referencias: http://nukesaq88.hatenablog.com/entry/2013/04/12/005525

Y el código que estoy usando (PyQt4, Pyside probablemente similar):

# In method of QMainWindow subclass stdicon = self.style().standardIcon style = QtGui.QStyle reload_foo = QtGui.QAction(stdicon(style.SP_BrowserReload), ''&Reload'', self)

Sería bueno si los documentos Qt (obviamente generados automáticamente) tuvieran imágenes en la tabla de enumeración de StandardIcons ...


en PyQt, el icono de la ventana es por defecto el logotipo de Qt. Creo que tendrás que encontrar tus propios iconos para las cosas dentro de la interfaz gráfica de usuario.