Я создаю консольное приложение на 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();
}
Не удалось воспроизвести проблему с Qt5 @ Linux. Ваш код устанавливает курсор на (0,0) без каких-либо окон и продолжает работать с 'a.exec', пока я не остановлю его вручную. – Sergey
@Sergey Huh. Это открывает окно для меня ... –
@FlareCat Как насчет [скрытия его вручную] (http://www.macosxtips.co.uk/index_files/disable-the-dock-icon-for-any-application.php) ? –