我在Qt Designer中创建了一个界面,并将资源文件resource.qrc用于应用程序中的图标。将Designer中的.ui
保存为.py文件,
然后使用以下命令将resource.qrc转换为rc_resource.py:
pyside6-rcc resource.qrc -o rc_resource.py
我必须马上说PyQt5 也有同样的问题。
但是,当我尝试Main
从文件运行应用程序时,出现错误:
“ModuleNotFoundError:没有名为‘rc_resource’的模块”。
文件中有一个导入ui_MainWindow
,但显然出现了问题。
如果我删除导入rc_resource
并直接在它们存储的文件夹中替换图标的路径,而不是在 中qrc
,图标仍然不可见。
ui_MainWindow
并rc_resource
存储在同一个文件夹中。
帮助解决问题。 https://github.com/Masik84/my_prog
资源.qrc
<RCC>
<qresource prefix="icons">
<file>Icons/minus.png</file>
<file>Icons/alignleft2.png</file>
...
<file>Icons/x.png</file>
</qresource>
</RCC>
ui_MainWindow.py
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QMainWindow,
QPushButton, QSizePolicy, QVBoxLayout, QWidget)
import rc_resource
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
...
主文件
import sys
from PySide6 import QtCore, QtGui
from PySide6.QtGui import QColor
from PySide6.QtWidgets import QMainWindow, QDialog, QApplication, QGraphicsDropShadowEffect
from screens.ui_MainWindow import *
class Welcome_Screen(QMainWindow):
def __init__(self):
super(Welcome_Screen,self).__init__()
self.animation = None
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Welcome_Screen()
sys.exit(app.exec_())
在ui_MainWindow.py模块中替换
在
主文件
ui_MainWindow.py