1

これで、Qt でのアプリケーションがほぼ完成しました。私はそれを展開したいと思います。とりわけ、誰かが実行可能ファイルを右クリックして詳細を見たときにアプリケーション情報を設定したいと考えています。

私が見つけた最良の情報源は、次のリンクでした: Setting application info in Qt executable file on Windows

しかし、Qt5 では、.qrc ファイルとプレフィックスを作成した後、動作させることができませんでした。.qrc ファイルが Qt の外部で編集されている場合、Qt 内でファイルを開くと、常に不明なエラーが発生します。

誰かが私に実際の例を教えてもらえますか? 上記のリンクに示されている方法は、まさに私がやりたいことです。

前もって感謝します!

4

1 に答える 1

0

Qt Creator の "File" -> "New File of Project.." -> "General" -> "Text file" を使用してファイル "resources.rc" を作成するか、プロジェクト フォルダー内の任意のテキスト エディターで次のコンテキストを使用します。

IDI_ICON1   ICON    DISCARDABLE "res/app.ico"

#include <windows.h>
#include "version.h"

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName",        VER_COMPANYNAME_STR
            VALUE "FileDescription",    VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",        VER_FILEVERSION_STR
            VALUE "InternalName",       VER_INTERNALNAME_STR
            VALUE "LegalCopyright",     VER_LEGALCOPYRIGHT_STR
            VALUE "LegalTrademarks1",   VER_LEGALTRADEMARKS1_STR
            VALUE "LegalTrademarks2",   VER_LEGALTRADEMARKS2_STR
            VALUE "OriginalFilename",   VER_ORIGINALFILENAME_STR
            VALUE "ProductName",        VER_PRODUCTNAME_STR
            VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
        END
    END

    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1252
    END
END

プロジェクトには、ヘッダー ファイル「version.h」も必要です。

#ifndef VERSION_H
#define VERSION_H

#define VER_FILEVERSION             1,0,0,0
#define VER_FILEVERSION_STR         "1.0.0.0\0"

#define VER_PRODUCTVERSION          1,0,0,0
#define VER_PRODUCTVERSION_STR      "1.0\0"

#define VER_COMPANYNAME_STR         "Your Organization"
#define VER_FILEDESCRIPTION_STR     "CoolApplication"
#define VER_INTERNALNAME_STR        "CoolApplication"
#define VER_LEGALCOPYRIGHT_STR      "Copyright © 2010 Your Organization"
#define VER_LEGALTRADEMARKS1_STR    "All Rights Reserved"
#define VER_LEGALTRADEMARKS2_STR    VER_LEGALTRADEMARKS1_STR
#define VER_ORIGINALFILENAME_STR    "coolapplication.exe"
#define VER_PRODUCTNAME_STR         "CoolApplication"

#define VER_COMPANYDOMAIN_STR       "example.org"

#endif // VERSION_H

次に、*.pro ファイルに追加します

RC_FILE = file_prop_detail.rc

それだけです。このアプローチは、Qt 5.4 でうまくいきました。

于 2015-10-07T07:08:05.017 に答える