【问题标题】:how to set an icon on a Main window and action with QT如何在主窗口上设置图标并使用 QT 进行操作
【发布时间】:2021-09-25 09:42:50
【问题描述】:

老实说,我不了解资源文件以及如何获取资源文件以便完成我的工作,因为它已部分解释给我,我很困惑将图标放在哪里以及如何使其在我的程序中可见。

setWindowIcon(QIcon(":/images/icon.png")); 

它不显示,甚至不显示错误。

【问题讨论】:

  • 你在使用 Qt Creator 吗?如果是这样,请检查您的 .pro 文件中是否有如下行:RESOURCES += sth.qrc。还要检查 .qrc 文件中是否有前缀:“/images”。如果一切就绪,请尝试设置别名并像这样使用它:QIcon(":/alias").

标签: c++ qt


【解决方案1】:

创建一个名为resources.qrc的资源文件:

<!DOCTYPE RCC>
<RCC version="1.0">
  <qresource>
    <file>path/to/icon.png</file>
  </qresource>
</RCC>

确保path/to/icon.png 是实际路径,相对于包含resources.qrc 的目录

在您的 .pro 文件中,包含资源:

TARGET = your_app
TEMPLATE = app
QT += widgets 
RESOURCES += path/to/resources.qrc

再次确保path/to/resources.qrc 存在,相对于包含项目文件的目录

编译后,您的资源将嵌入到您的可执行文件中。它可以像这样访问:

setWindowIcon(QIcon(":/path/to/icon.png"));

如果图标没有出现,试试这个stackoverflow questionthis one

另一种方法是使用Application Icon。这将在桌面和开始菜单以及QMainWindows 和QDialogs 的左上角设置应用程序图标

【讨论】:

  • 想象一下,如果我把图标目录放在我的项目所在的同一目录中,将如何指定路径。目录图像可以这样做 /images/icon.png 吗?对于资源文件,我发现我可以通过文件|新文件直接将其添加到项目中来创建它,但是如果将资源文件添加到当前项目中,如何指定资源文件?设置图标应用程序图标我不知道,因为我是 Qt creator 的新手
  • 重要的是使用带有 QIcon 的图像路径,如下所示:app.setWindowIcon(QIcon(":/image.png"));,而不是图像 URL,如下所示:app.setWindowIcon(QIcon("qrc:/image.png")); 请注意图像路径中没有 qrc
【解决方案2】:

使用 QtCreator 的设计器窗口不是最简单的吗?在右下角您可以找到 3 个选项卡 - 单击最右侧的一个,然后单击笔:

这将打开资源编辑器:

定义新的资源文件(在左窗格下方),然后添加“命名空间”(右窗格)并添加您的文件。你可以为它们设置别名,这样当你决定用其他东西替换你的图标时——你只需要切换路径,只要别名保持不变。然后,您可以通过其别名引用您的资源以在需要的地方设置您的图标,例如: setWindowIcon(QIcon(":/HurBudClientGUI/plug"));

另外 - 花点时间阅读这个:http://doc.qt.io/qt-5/resources.html 和那个:http://doc.qt.io/qt-5/designer-resources.html

祝你好运!

【讨论】:

    【解决方案3】:

    有更简单的解决方案: 只需转到 主窗口的属性面板,然后将 WindowIcon 属性更改为您喜欢的任何图标。

    【讨论】:

      【解决方案4】:

      如何在 Qt6 中更改窗口图标。

      还有一个:

      Form.setWindowIcon(QtGui.QIcon('file path'))
      

      有效!

      【讨论】:

      • 同样适用于Qt5(也适用于Qt4)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2014-10-30
      相关资源
      最近更新 更多