2016-09-01 15 views
3

デスクトップ環境の特定の部分(主にQCursorを使用するマウス)と対話するOS X上のコンソールアプリケーションを作成していますので、QCoreApplicationを使用することはできません。QApplicationがドックに表示されないようにするにはどうすればよいですか?

アプリケーションは正常に動作します。コマンドラインから実行するたびにドックに表示されます。私は他のいくつかの質問をオンラインで見ましたが、私は問題を解決しませんでした。

私はQSystemTrayIconを調べました。ポップアップする厄介なウィンドウを取り除くと、私はそれを使用しても問題ありません。ここで私のコードは、上記の問題がまだ残っている最小限に絞り込まれています。

.PRO:

TARGET = project 

QT += core 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 
QT -= gui 

CONFIG += c++11 
CONFIG += console 
CONFIG -= app_bundle 
TEMPLATE = app 

SOURCES += main.cpp 

main.cppに:

#include <QApplication> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    QCursor cur; 
    cur.setPos(0,0); 

    return a.exec(); 
} 
+0

はQt5 @のLinuxを使用して問題を再現できませんでした。あなたのコードは、ウィンドウを使わずにカーソルを(0,0)に設定し、手動で停止するまで 'a.exec'を実行し続けます。 – Sergey

+0

@ Sergey Huh。それは私のための窓を開きます... –

+1

@FlareCat [手動で隠す](http://www.macosxtips.co.uk/index_files/disable-the-dock-icon-for-any-application.php) ? –

答えて

2

、ここで説明するように回避策は、手動でそれをやっているでしょう。

幸いにも、それがココアアプリケーションの場合は、Dockアイコンを自分で非表示にすることができます。可能かどうかを確認するには、アプリケーションアイコンを右クリック(Controlキーを押しながらクリック)します。表示されるメニューに[パ​​ッケージの内容を表示]が表示されている場合は、Dockのアイコンを非表示にすることができます。

この場合、「パッケージの内容を表示」を選択し、内容フォルダ内の"Info.plist"ファイルを探します。 TextEditを右クリックし、メニューから "Open With - Other"を選択してこのファイルを開きます。ファイルで

、第6行にした直後、次の2行を貼り付けます。

<key>LSUIElement</key> 
<string>1</string> 

は、ファイルを保存して閉じます。変更を有効にするには、アプリケーションをデスクトップに移動し、元の場所に戻す必要があります(OS Xはファイルのキャッシュを保持しているため、再度チェックインする必要があります)。

アプリケーションを開くと、Dockにアイコンが表示されません。

出典:http://www.macosxtips.co.uk/index_files/disable-the-dock-icon-for-any-application.php

関連する問題