0

アプリのスタイル イメージを q-resource ファイルに含めようとしています。ファイルをコードに直接含めると機能しますが、QResource を使用しようとすると失敗します (ファイルをロードしないでください)。

メインディレクトリにリソースファイルがあります:

AppFolder
  |- main.cpp
  |- darkstyle.qrc
  |- darkstyle
       |- WindowTitleBar.png

次の出力例: failed1 failed2

#include <QApplication>
#include <QResource>
#include <Qfile>
#include <QDebug>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    bool ok= QResource::registerResource("darkstyle.qrc");
    if (!ok) qDebug()<<"failed1";

    QFile file(":/darkstyle/WindowTitleBar.png");
    //QFile file("../AppFolder/darkstyle/WindowTitleBar.png"); //that work

    if(!file.open(QFile::ReadOnly | QFile::Text)) qDebug()<<"failed2";
    else file.close();

    //return a.exec();
    return 0;
}

注: Qt クリエーターは、デフォルトで最上位フォルダーにバイナリ (.exe) を作成します: ../build-AppFolder_Qt_5_4_1_MSVC2013_64bit-Debug/debug/AppFolder.exe

実行パスとの可能な組み合わせのほとんどを試しました。

注 2: いくつかの例では .rcc ファイル形式を使用しています。私はこれらを持っていませんが、それが手がかりになる可能性があります。

概要: QT アプリ内から QResource ファイルにアクセスする方法は?

編集 1: qrc ファイルの内容:

<RCC>
    <qresource prefix="/">
        <file>darkstyle/WindowTitleBar.png</file>
        <file>darkstyle/WindowTitleButton.png</file>
        <file>darkstyle/WindowTitleButton1.png</file>
        <file>darkstyle/WindowTitleButton2.png</file>
        <file>darkstyle/WindowTitleButton3.png</file>
    </qresource>
</RCC>
4

2 に答える 2

0

この問題は、特定のバージョンの QT と MSVS2013 との非互換性に関連しています。この問題は、別のバージョンの QT または Visual Studio をダウンロードすることで解決されます。

于 2015-03-16T10:15:31.350 に答える