2016-09-01 14 views
3

Я создаю консольное приложение на OS X, которое взаимодействует с определенными частями рабочей среды (главным образом, с помощью мыши QCursor), поэтому я не могу использовать 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

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

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

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

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

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^