我有麻烦显示从当前图标主题中选择的QAction的图标。我用Qt设计器制作了UI,并用pyuic4 sample.ui > sample.py
导出。从设置主题图标与self.actionSample.setIcon(QtGui.QIcon.fromTheme(_fromUtf8("document-open")))
后,我得到了下面的源代码:QIcon.fromTheme在PyQt中不显示图标
from PyQt4 import QtCore, QtGui
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(800, 600)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtGui.QToolBar(MainWindow)
self.toolBar.setObjectName(_fromUtf8("toolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.actionSample = QtGui.QAction(MainWindow)
self.actionSample.setObjectName(_fromUtf8("actionSample"))
self.actionSample.setIcon(QtGui.QIcon.fromTheme(_fromUtf8("document-open")))
self.toolBar.addAction(self.actionSample)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
app.exec_()
当我执行它,工具栏不显示图标“文件打开”。这是一个错误还是我做错了什么?
由于
你在使用什么平台,以及你使用的是什么版本的Qt?此外,您是否在Designer中设置了该图标,或者手动添加了它? – ekhumoro
@ekhumoro 我运行: 的GNU/Linux 3.2.0-2-686 - Debian的测试/ 的Python 2.7.3rc2/ 中的python-qt4的4.9.3-4/ 我生成后手动设置图标' .py'文件。但是当我用qt-designer生成它时,它是一样的。 – Hypergraphe
动作编辑器中的新动作对话框应显示“图标主题”属性旁边的图标(如果可用)。 – ekhumoro