アプリのスタイル イメージを 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>