是否有PyQt的/ PySide默认图标?(Are there default icons in P

2019-07-30 14:46发布

我读上PySide教程,我在想,我需要找到自己的图标每一件事情或者是有一些方法可以使用一些内置的图标。 这样,我就不会需要找到一个全新的图标集,如果我想我的小GUI到另一个桌面环境中运行。

Answer 1:

你需要的是Pyside QIcon.fromTheme功能。 Basicaly它创建QIcon对象与当前系统主题需要的图标。

用法:

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

“编辑撤消” -图标“类型”的名称/“功能”,可以发现这里

这适用于X11系统,MacOSX的和Windows检查QIcon文档QIcon.fromTheme

编辑从网站插入这一点,因为它最后一次是一个破碎的链接。

静态 PySide.QtGui.QIcon。 fromTheme( 名称[,回退= QIcon()])

参数:

  • 名称 -统一
  • 后备 - PySide.QtGui.QIcon

返回类型:

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() 。

也可以看看

  • PySide.QtGui.QIcon.themeName()
  • PySide.QtGui.QIcon.setThemeName()
  • PySide.QtGui.QIcon.themeSearchPaths()


Answer 2:

还有另一种方式来访问一些使用的默认样式的标准像素图中的PyQt / PySide标准内置图标。 例如,下面的用于打开文件的创建的图标:

self.style().standardIcon(QtGui.QStyle.SP_DialogOpenButton)

对于标准的像素图的完整列表,请参阅:

http://srinikom.github.io/pyside-docs/PySide/QtGui/QStyle.html#PySide.QtGui.PySide.QtGui.QStyle.StandardPixmap



Answer 3:

我不认为这是特定于任何有约束力的,你可以检查QT一般文档

看看这里和这里

相关问题



Answer 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文档曾在standardIcons枚举表图片...



Answer 5:

PyQt5 ,以下是创建一个播放图标按钮的一个简单的例子:

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

所述QT5文档提供了可能的SP(“标准像素图”)的图标的列表。 见enum QStyle::StandardPixmap这里: http://doc.qt.io/qt-5/qstyle.html



Answer 6:

使用另一个PyQt5例如标准图标 ( eqzx的回答并没有为我工作):

 from PyQt5.QtWidgets import QApplication, QStyle
 from PyQt5.QtGui import QIcon

 desktop_icon = QIcon(QApplication.style().standardIcon(QStyle.SP_DesktopIcon)


Answer 7:

在PyQt的,窗口图标默认情况下是Qt标识。 我认为你必须找到自己的图标在GUI里面的东西。



文章来源: Are there default icons in PyQt/PySide?