Как я могу остановить отображение QApplication в доке?

Я делаю консольное приложение на OS X, которое взаимодействует с определенными частями среды рабочего стола (в основном с мышью, использующей QCursor), поэтому я не могу использовать приложение QCoreApplication (несмотря на то, сколько я хочу).

Приложение работает нормально, просто оно появляется в доке всякий раз, когда я запускаю его из командной строки. Я просмотрел несколько других вопросов в Интернете, но ни один из них не помог мне решить проблему.

Я смотрел в QSystemTrayIcon, и я буду в порядке с его использованием, если это избавит от надоедливого всплывающего окна. Вот мой код, сведенный к минимуму, в котором все еще есть проблема, которую я рассмотрел выше.

Про:

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();
}

1 ответ

Решение

Обходной путь будет делать это вручную, как описано здесь.

К счастью, если это приложение для какао, вы можете скрыть значок Dock самостоятельно. Чтобы узнать, возможно ли это, щелкните правой кнопкой мыши (Control-click) на значке приложения. Если в появившемся меню отображается "Показать содержимое пакета", вы можете скрыть значок в Dock.

Если это так, выберите "Показать содержимое пакета" и найдите "Info.plist" файл в папке содержимого. Откройте этот файл с помощью TextEdit, щелкнув по нему правой кнопкой мыши и выбрав в меню "Открыть с помощью - Другие".

В файле вставьте следующие две строки сразу после 6-й строки:

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

Сохраните файл и закройте его. Чтобы изменения вступили в силу, вам нужно переместить приложение на рабочий стол, а затем вернуть его обратно в исходное местоположение (OS X хранит кэш файла, поэтому вам нужно обмануть его, чтобы проверить его снова).

Теперь, когда вы открываете приложение, в Dock не появится значок.

Источник: http://www.macosxtips.co.uk/index_files/disable-the-dock-icon-for-any-application.php

Другие вопросы по тегам