【问题标题】:How to use qrc resources in qss in qtdesigner?如何在qtdesigner中使用qss中的qrc资源?
【发布时间】:2020-08-13 12:42:22
【问题描述】:

我需要使用左侧的搜索图标创建 QLineEdit,我正在 QtDesigner 中进行。

我已将我的 search_icon.svg 添加到我的 resources.qrc 文件中,并使用 QtDesigner 的资源浏览器将此 qrc 分配为我的应用程序的资源。 resources.qrc 的内容如下所示:

<RCC>
  <qresource prefix = "/icons">
    <file alias = "search_icon.svg">search_icon.svg</file>
  </qresource>
</RCC>

然后我使用 qss 在 QtDesigner 的“编辑样式表”窗口中引用了 search_icon.svg:

QLineEdit {
    background-image: url(:/icons/search_icon.svg);
    background-position: left;
    padding: 2 2 2 25;
} 

但是 search_icon.svg 没有显示在 QLineEdit 上。

QtDesigner的mainWindow.ui和resources.qrc和search_icon.svg一样在同一个目录下。

我是否需要以某种方式编译resources.qrc,以便search_icon.svg可以在QtDesigner的“编辑样式表”窗口的qss中使用?

【问题讨论】:

  • 通过以下命令将resources.qrc 转换为resources.py 文件:pyrcc5 resources.qrc -o resources.py 并将其导入您的主窗口。

标签: python pyqt pyqt5 qt-designer qresource


【解决方案1】:

您需要按照以下步骤将 .qrc 添加到 ui 中:

  • 在右侧应该有一个名为“资源浏览器”的dockwidget(如果它是隐藏的,那么你必须通过点击查看->资源浏览器来启用它)。

  • 然后点击左侧名为“编辑资源”的图标,将打开以下窗口:

  • 然后按按钮,选择.qrc并按“确定”按钮。

使用上述内容,.qrc 图标将在 Qt Designer 预览中可见,该预览专门将以下内容添加到 .ui:

  <include location="qresources.qrc"/>
 </resources>

从 .qrc 加载图标的另一种直接方法是通过右键单击小部件并选择“添加资源”选项打开 Qt StyleSheet 表单,然后将出现“资源浏览器”,因此您必须按照之前的步骤。


如果您要将 .ui 转换为包含 .qrc 的 .py,那么您还必须将其转换,假设文件是​​ main.ui 和 main.qrc,那么您应该按照以下步骤操作:

pyuic5 main.ui -o foo.py -x
pyrcc5 main.qrc -o main_rc.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多