【pyqt5学习】——bug修复,利用qt资源库qrc文件进行背景图像设置,不显示图像

目录

bug描述

 bug分析

 bug解决


bug描述

利用下面文章的方法进行资源设置后,有的显示了有的没有显示

【pyqt5学习】——pyqt5中.qrc资源文件的创建与编写_有情怀的机械男的博客-CSDN博客_python qrc目录一、说明二、安装pyqt5以及相关工具(pyqt5、pyuic、pqrcc)三、创建.ui文件1、选中文件右键-external-pyqt5 打开GUI设计界面2、创建一个界面(内含四个等大label框)3、CTRL+S保存4、找到ui文件,右键--external tools--pyuic:将ui文件编译成py文件5、创建qrc文件6、放置图片,编写qrc文件7、调用qrc文件资源方法1)直接代码调用1)先将qrc文件转换为py文件2)进入由uihttps://blog.csdn.net/qq_45769063/article/details/121744539

qrc文件内容: 

<RCC>
  <qresource prefix="bg">
    <file>loginBgPic.jpg</file>
    <file>mainBgpic.jpg</file>
  </qresource>
    <qresource prefix="localControl">
    <file>localControl1.png</file>
    <file>localControl2.png</file>
    <file>localControl3..png</file>
    <file>localControl4.png</file>
  </qresource>
      <qresource prefix="liquid">
    <file>liquidLeft.png</file>
    <file>liquidRight.png</file>
  </qresource>
</RCC>

 bug分析

查看了显示图像的部分,发现后缀名为jpg的图像就显示了,而后缀名为png的没有显示

可能pyqt5的qrc资源库仅支持jpg图像的显示

 bug解决

1、将png图像的后缀名改成jpg

2、修改qrc资源文件

<RCC>
  <qresource prefix="bg">
    <file>loginBgPic.jpg</file>
    <file>mainBgpic.jpg</file>
  </qresource>
    <qresource prefix="localControl">
    <file>localControl1.jpg</file>
    <file>localControl2.jpg</file>
    <file>localControl3.jpg</file>
    <file>localControl4.jpg</file>
  </qresource>
      <qresource prefix="liquid">
    <file>liquidLeft.jpg</file>
    <file>liquidRight.jpg</file>
  </qresource>
</RCC>

最后问题解决啦 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要在PyQtQTextBrowser显示图片,可以使用QTextDocument插入HTML代码来实现。下面是一个示例代码: ```python from PyQt5.QtWidgets import QApplication, QTextBrowser from PyQt5.QtGui import QTextDocument app = QApplication([]) browser = QTextBrowser() # 插入HTML代码,其<img>标签的src属性指定图片路径 html = '<html><body><img src="example.png"></body></html>' document = QTextDocument() document.setHtml(html) # 将QTextDocument设置QTextBrowser的文本内容 browser.setDocument(document) browser.show() app.exec_() ``` 在上面的代码,我们使用了QTextDocument类来创建一个文档对象,然后将HTML代码设置为文档的内容。接下来,我们将QTextDocument对象设置QTextBrowser的文本内容,这样就可以在QTextBrowser显示图片了。 需要注意的是,图片的路径应该是相对于程序运行时的路径。如果图片文件不在程序运行时的当前目录下,需要指定完整的路径。 ### 回答2: 在PyQt,要在TextBrowser显示图片,可以通过嵌入HTML代码来实现。首先,需要创建一个TextBrowser对象,并将其设置为只读模式。然后,使用setText()方法将HTML代码插入到TextBrowser,其包含一个img标签来指定要显示的图片的路径。最后,调用show()方法来显示TextBrowser。 下面是一个简单的示例代码: ```python from PyQt5.QtWidgets import QApplication, QTextBrowser app = QApplication([]) # 创建TextBrowser对象 textBrowser = QTextBrowser() # 设置为只读模式 textBrowser.setReadOnly(True) # 插入HTML代码,显示图片 html_code = '<img src="image.jpg">' textBrowser.setHtml(html_code) # 显示TextBrowser textBrowser.show() app.exec() ``` 在这个示例,我们使用`<img>`标签指定了一个名为`image.jpg`的图片文件。你可以将该文件替换为实际存在的图片文件,并将其路径传递给`src`属性。运行代码后,图片将显示在TextBrowser。 值得注意的是,TextBrowser并不是专门用于显示图片的控件,因此可能会存在显示效果上的限制。如果你需要更灵活和强大的图片显示功能,可以考虑使用QLabel或QGraphicsView等其他控件。 ### 回答3: 在PyQt使用TextBrowser显示图片可以通过以下步骤实现: 1. 导入必要的模块:首先,需要从PyQt5模块导入QtWidgets和QtCore。可以使用以下代码行导入这些模块: ``` from PyQt5.QtWidgets import QApplication, QMainWindow, QTextBrowser from PyQt5.QtCore import QUrl ``` 2. 创建应用程序和主窗口:使用以下代码创建一个PyQt应用程序并创建一个主窗口: ``` app = QApplication([]) window = QMainWindow() ``` 3. 创建一个TextBrowser小部件:使用以下代码创建一个TextBrowser小部件,并将其设置为主窗口的心部件: ``` text_browser = QTextBrowser() window.setCentralWidget(text_browser) ``` 4. 加载图片:使用下面的代码加载图片并将其显示在TextBrowser: ``` image_path = "path/to/image.jpg" # 设置图片路径 image_url = QUrl.fromLocalFile(image_path) # 将图片路径转换为QUrl对象 text_browser.insertHtml("<img src='{}'>".format(image_url.toString())) # 在TextBrowser插入HTML标签显示图片 ``` 5. 显示主窗口:使用以下代码显示主窗口和应用程序: ``` window.show() app.exec_() ``` 完整的示例代码如下: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QTextBrowser from PyQt5.QtCore import QUrl app = QApplication([]) window = QMainWindow() text_browser = QTextBrowser() window.setCentralWidget(text_browser) image_path = "path/to/image.jpg" image_url = QUrl.fromLocalFile(image_path) text_browser.insertHtml("<img src='{}'>".format(image_url.toString())) window.show() app.exec_() ``` 请确保将路径“path/to/image.jpg”替换为您实际的图片路径。运行代码后,您将能够在TextBrowser小部件看到显示的图片。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值