【问题标题】:Microsoft Visual Studio: Loading resources in Qt application (without plug-in)Microsoft Visual Studio:在 Qt 应用程序中加载资源(无插件)
【发布时间】:2009-07-31 12:56:45
【问题描述】:

我们没有为 MSVS 安装 Qt 插件,这让我想知道如何/是否可以将资源(图像等)加载到应用程序。

【问题讨论】:

    标签: c++ visual-studio qt resources qt4


    【解决方案1】:

    是的,您可以加载资源。 不幸的是,创建 qrc 文件的 qrc 编辑器是 VS 的 Qt 插件的一部分...
    但是你可以手动创建这个xml文件,格式见here
    一旦创建了 qrc 文件,您至少有两种可能性:

    A) 使用 qmake

    1. 在您的 pro 文件中添加对您的 qrc 文件的引用:

      资源 = ApplicationResources.qrc

    2. 使用 qmake 从你的 pro 重新生成你的 vcproj

      qmake -tp vc

    B) 如果您不从 pro 文件生成 vcproj 文件,您可以:

    1. 在您的解决方案中手动添加您的 qrc 文件,例如在以下路径中:

      资源文件/Res/ApplicationResources.qrc

    2. 在 Visual Studio 中 qrc 文件的属性中添加以下命令:
      命令行:$(QTDIR)\bin\rcc.exe -name ApplicationResources res\ ApplicationResources .qrc -o $(IntDir)\qrc__ ApplicationResources.cpp
      说明 : RCC res/ApplicationResources.qrc
      输出 : $(IntDir)\qrc__ ApplicationResources .cpp

    C) 您也可以使用外部二进制资源文件
    命令行:rcc -binary myresource.qrc -o myresource.rcc

    在应用程序中,您必须注册资源文件: QResource::registerResource("/path/to/myresource.rcc");

    在源代码中使用资源文件见doc

    不过,和 cheez 一样,我也建议使用 qmake 和 pro 文件,不要在 Visual Studio 中手动编辑属性...

    希望这会有所帮助!

    【讨论】:

    • 你也可以在qt设计器中创建qrc文件。
    • 我正在使用第二个建议,并且喜欢它!毕竟让MSVS自己编译也不麻烦——不是每天我都加一个新的资源文件!
    • 我现在发现的唯一问题是 .exe 文件没有与主窗口小部件关联的图标 :-) 我猜这是因为资源是在运行时设置的
    【解决方案2】:

    使用 qrc 可执行文件生成可以包含在项目中的 cpp 文件:

    /usr/local/Trolltech/Qt-4.5.1/bin/rcc -name core core/core.qrc -o build/release/core/qrc_core.cc

    http://doc.trolltech.com/4.0/resources.html

    但是,我强烈建议您使用 qmake 或其他构建系统来为您自动执行此操作。

    【讨论】:

    • 我不能像创建 .moc 和 .ui 文件一样创建自定义构建步骤吗?
    猜你喜欢
    • 2011-01-15
    • 2011-06-10
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    相关资源
    最近更新 更多