GUI를 구현했는데 아이콘이 GUI에 표시되지 않습니다. 개발 경로는 git clone (저장소 디렉토리)입니다. 경로를 단순 로컬 경로로 변경하면 GUI의 아이콘이 표시됩니다.PyQt4 : 아이콘이 GUI에 표시되지 않습니다.
이 문제의 원인이나 해결책에 대한 아이디어가 있으십니까?
GUI는 QtDesigner에서 설계되었습니다. GUI를 코드는 여기있다
pyuic4
에서 생성됩니다class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(803, 502)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons/Server.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 803, 22))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuFilter = QtGui.QMenu(self.menubar)
self.menuFilter.setObjectName(_fromUtf8("menuFilter"))
self.menuFile = QtGui.QMenu(self.menubar)
self.menuFile.setObjectName(_fromUtf8("menuFile"))
MainWindow.setMenuBar(self.menubar)
self.toolBar = QtGui.QToolBar(MainWindow)
self.toolBar.setObjectName(_fromUtf8("toolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.toolBar_2 = QtGui.QToolBar(MainWindow)
self.toolBar_2.setObjectName(_fromUtf8("toolBar_2"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar_2)
self.actionFilter = QtGui.QAction(MainWindow)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8("icons/Filter.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionFilter.setIcon(icon1)
self.actionFilter.setObjectName(_fromUtf8("actionFilter"))
self.actionFilter_by_Server = QtGui.QAction(MainWindow)
self.actionFilter_by_Server.setObjectName(_fromUtf8("actionFilter_by_Server"))
self.actionExit = QtGui.QAction(MainWindow)
self.actionExit.setObjectName(_fromUtf8("actionExit"))
self.menuFilter.addAction(self.actionFilter_by_Server)
self.menuFile.addAction(self.actionExit)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuFilter.menuAction())
self.toolBar.addAction(self.actionFilter)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Development Monitoring", None, QtGui.QApplication.UnicodeUTF8))
self.menuFilter.setTitle(QtGui.QApplication.translate("MainWindow", "Filter", None, QtGui.QApplication.UnicodeUTF8))
self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
self.toolBar.setWindowTitle(QtGui.QApplication.translate("MainWindow", "toolBar", None, QtGui.QApplication.UnicodeUTF8))
self.toolBar_2.setWindowTitle(QtGui.QApplication.translate("MainWindow", "toolBar_2", None, QtGui.QApplication.UnicodeUTF8))
self.actionFilter.setText(QtGui.QApplication.translate("MainWindow", "Filter", None, QtGui.QApplication.UnicodeUTF8))
self.actionFilter.setStatusTip(QtGui.QApplication.translate("MainWindow", "Filter", None, QtGui.QApplication.UnicodeUTF8))
self.actionFilter.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+F", None, QtGui.QApplication.UnicodeUTF8))
self.actionFilter_by_Server.setText(QtGui.QApplication.translate("MainWindow", "Filter by Server", None, QtGui.QApplication.UnicodeUTF8))
self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8))
GUI를 표시하는 코드는
class MainWindow(QtGui.QMainWindow):
def __init__(self, app, parent= None):
log.trace()
QtGui.QWidget.__init__(self,parent)
self.app=app
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
감사합니다 사전에 여기에있다.
크리스
Sry 나는 코드를 추가했습니다. – Chris
이것은 파일 시스템 문제처럼 보입니다. 디렉토리 내에서 아이콘/상대 경로로 앱을 실행하고 있습니까? 당신의 dev 경로는 어떻게 생겼으며 어디에 응용 프로그램을 실행합니까? 또한 당신이 실제로 QMainWindow가 아닌 QMainWindow를 __init__해야한다는 것을 잊지 마십시오. – jdi