我正在尝试将徽标加载到python脚本UI中。我正在使用Qt Designer,并且创建了一个标签并将pixmap设置为该图像。图像在设计器中加载良好,但是当我将ui文件导入python脚本时,我收到此错误消息
C:\Users\Mason\AppData\Local\Continuum\anaconda3\python.exe "C:/Users/Mason/PycharmProjects/Inspector/Tester/main.py"
Traceback (most recent call last):
File "C:/Users/Mason/PycharmProjects/Inspector/Tester/main.py", line 9, in <module>
UIClass, QtBaseClass = uic.loadUiType("ui5.ui")
File "C:\Users\Mason\AppData\Local\Continuum\anaconda3\lib\site-packages\PyQt5\uic\__init__.py", line 201, in loadUiType
exec(code_string.getvalue(), ui_globals)
File "<string>", line 30
import 3_rc
即使将图像从ui文件中取出并重新加载,我仍然会收到该错误。我究竟做错了什么?
from PyQt5 import QtCore, uic, QtWidgets
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.uic import loadUi
from PyQt5.QtGui import QIcon, QPixmap
import sys
UIClass, QtBaseClass = uic.loadUiType("ui5.ui")
class MyApp(UIClass, QtBaseClass):
def __init__(self):
UIClass.__init__(self)
QtBaseClass.__init__(self)
self.setupUi(self)
self.pushButton.clicked.connect(self.on_pushbutton_click)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
答案 0 :(得分:0)
Qt依赖于资源系统来获取图像和其他资产。在qt设计器中添加图像时,它会创建一个资源文件。您必须像使用ui文件一样转换该资源文件(uic
是快捷方式to this process)。您通过uic
获得的自动生成的ui文件正在查找该资源文件,但是找不到它。
您可以使用此工具将您的资源文件转换为python,具体取决于您的qt版本:
pyrcc5 -o 3_rc.py your_resource_file_here.qrc
更多信息: