1

QT Creator 3.5.1 で基本的な GUI アプリケーションを作成しており、QT 5.5 を使用しています。Web サイトから QT/QT Creator をダウンロードしました。現在、Ubuntu 15.04 64 ビットを実行しています。

メニュー バーのタイトル バーへの統合に関する問題が発生しています。問題は、統合が行われていないことです (メニュー バーがタイトル バーに表示されません)。メニュー バーは、以前はタイル バーの下にあったはずだった場所に表示されます。何が起こっているかのイメージを次に示します。

ファイルメニューの問題

この問題を解決するにはどうすればよいですか?

アップデート:

apt-get と qt Creator を介して qt 5.4.1 をインストールしました。これに対してコンパイルすると、タイトル バーの統合が機能します。それで問題は、何が違うのですか?私が一緒に開発している人々は QT 5.5.1 を使用しており、彼らと同じバージョンを使用したいと考えています。今回は何か違う方法でできることはありますか?

4

2 に答える 2

1

私が見つけたユニークな方法は、このブログにありました。彼は、この方法が Qt Creator で機能すると主張していますが、Ubuntu 32/64 ビット Qt5 アプリ (私が開発) でテストしたところ、問題なく機能するようです!

手順は次のとおりです。

  1. ターミナルを開く
  2. 入るsudo apt-get install libgtk2.0-dev libdbusmenu-qt5-dev
  3. CD コマンドで現在のディレクトリを設定します (appmenu プロジェクトはここに存在します)。
  4. コマンドを入力apt-get source appmenu-qt5

現在、ブログはまだコマンドラインを使用していますが、次のステップは Qt Creator でプロジェクトを開くことで実行できます (プロジェクトは現在のディレクトリにあります)。

  1. テキスト エディタ (もちろん Qt Creator でも可) を使用して、次の行を編集しますappmenu/src/src.pro

    CONFIG += X11 link_pkgconfig デバッグ

    PKGCONFIG += dbusmenu-qt5 gtk+-2.0

    DESTDIR = ./

に(動的ライブラリが必要な場合):

CONFIG += X11 link_pkgconfig
PKGCONFIG += dbusmenu-qt5 gtk+-2.0

または(静的にリンクされたライブラリが必要な場合):

CONFIG += X11 link_pkgconfig static
PKGCONFIG += dbusmenu-qt5 gtk+-2.0
  1. Qt Creator でプロジェクトを開き (まだ行っていない場合)、ビルドのモードを選択し (リリース モードはサイズが小さいようです)、ビルドします。

  2. (動的ライブラリとして) 正常にビルドされた場合、Qt5 インストール フォルダー内/plugins/platformthemesに というプラグインが作成されlibappmenu-qt5.soます。メニューを統合するには、lib をplatformthemesターゲット アプリ (Qt Creator を含む) のサブフォルダーに配置するだけです。

または、正常にビルドされた場合 (静的にリンクされたライブラリとして)、Qt5 インストール フォルダー内/plugins/platformthemesに file がありますlibappmenu-qt5.a。これは静的ライブラリです。これをアプリに統合するには、プロジェクト ファイルに以下を追加します。

QT       +=  core-private gui-private platformsupport-private dbus widgets

LIBS     += $$[QT_INSTALL_DATA]/plugins/platformthemes/libappmenu-qt5.a

CONFIG    += X11 link_pkgconfig
PKGCONFIG += dbusmenu-qt5 gtk+-2.0

そしてあなたにmain.cpp

#include <QtPlugin>

Q_IMPORT_PLUGIN(AppMenuPlatformThemePlugin)

int main(int argc, char *argv[])
...

そして、これは結果になるはずです:

Qtクリエーター

編集 (動的ライブラリとしてビルドする場合に有効) : Qt アプリや Qt Creator を再コンパイルする必要がないことに注意してください。

libappmenu-qt5.soQt Creator の場合、Qt インストール フォルダーに以下を配置する必要があります。/Tools/QtCreator/lib/Qt/plugins/platformthemes

Qt アプリケーションを再配布する場合は、実行可能ファイルのフォルダー内でそのフォルダーを共有するだけplatformthemesですlibappmenu-qt5.so。他の Qt プラグインと同様です。

編集 2:追加の依存関係が必要ない場合は、静的にリンクされたプラグインを構築することもできます。

于 2016-04-16T12:26:19.423 に答える