我有麻煩顯示從當前圖標主題中選擇的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