"NewFileorP" />

2.5 资源文件的使用(图片转为qrc)

您所在的位置:网站首页 图片怎么转成jpg模式 2.5 资源文件的使用(图片转为qrc)

2.5 资源文件的使用(图片转为qrc)

2024-07-09 10:07| 来源: 网络整理| 查看: 265

下面是从网络上找的学习资料:

图片上标的就是在控件上添加一些图标,有利于GUI的美观效果。

布局如下:

要想做到如上效果需要按照如下步骤:

1,制作qrc文件。

在Qt Creator(是一种画GUI的工具)里单击"File"->"New File or Project..."菜单项,在新键文件与项目对话框里选择"Qt Resource File",然后按照向导的指引设置资源文件的文件名,并添加到当前项目里。

例如:命名资源文件名为res.qrc。在项目文件目录树中,会自动创建一个与Headers,Sources,Forms并列的Resources文件组,在Resources组里有res.qrc节点。

如图:在此处添加前缀。

 然后在此处写上前缀名。然后在此处添加文件,将想要的图片文件加入。

 效果如下:

 然后便可以在文件中添加图标,按照下图,向控件添加图片:

 在将.ui文件和.qrc文件制作好之后,可以将两个文件放到python工程下,使用工具将.ui文件转换为.py,此处暂时不叙述。将.qrc文件转为.py文件可将下图:

Progarm:填写python.exe文件路径。

Arguments:-m PyQt5.pyrcc_main $FileName$ -o $FileNameWithoutExtension$_rc.py(固定格式,Copy即可)

Working directory:$FileDir$(固定格式,Copy即可) 

.qrc文件转换为.py文件的内容大部分为数字,在此不做叙述。

main文件中的代码如下:有关其他类的代码不做叙述。

import sys from PyQt5.QtWidgets import QApplication,QWidget from PyQt5.QtCore import pyqtSlot from PyQt5.QtGui import QIcon from widget import Ui_Widget from human import Human class QmyWidget(QWidget): def __init__(self,parent=None): super().__init__(parent) ## super()只绑定输入参数的第一个参数,即QWidget类,进行初始化,输入参数parent,执行这条语句后,self就是一个QWidget对象。 self.ui=Ui_Widget() # 显示地创建了一个Ui_FormHello类的私有属性self.__ui,即私有属性self.__ui包含了可视化设计的UI窗体上的所有组件, # 所以,只有通过self.__ui才可以访问窗体上的组件,包括调用其创建界面组件的setupUi()函数 self.ui.setupUi(self) # 构造UI self.boy=Human("Boy",16) self.boy.nameChanged.connect(self.do_nameChanged) self.boy.ageChanged.connect(self.do_ageChanged_int) self.boy.ageChanged[str].connect(self.do_ageChanged_str) # 自定义信号,和相关的槽函数 ## ==========由connectSlotsByName()自动与组件的信号关联的槽函数========= def on_sliderSetAge_valueChanged(self,value): self.boy.setAge(value) def on_btnSetName_clicked(self): hisName=self.ui.editNameInput.text() self.boy.setName(hisName) def on_btnClose_clicked(self): self.close() ## ===================自定义槽函数=================================== def do_nameChanged(self,name): self.ui.editNameHello.setText("Hello,"+name) @pyqtSlot(int) def do_ageChanged_int(self,age): self.ui.editAgeInt.setText(str(age)) @pyqtSlot(str) def do_ageChanged_str(self,info): self.ui.editAgeStr.setText(info) if __name__ == '__main__': app=QApplication(sys.argv) icon=QIcon("images/app.ico") app.setWindowIcon(icon) form=QmyWidget() form.show() sys.exit(app.exec_())



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3