Я хочу использовать QWebPage
в Qt-приложении без графического интерфейса.Под этим я подразумеваю, что я вообще не хочу общаться с оконным сервером.Однако использование QtGui не является проблемой.
QWebPage
внутренне создает несколько экземпляров QWidget
.Таким образом, использование QCoreApplication
невозможно.
При создании экземпляра QApplication
я уже сразу получаю значок док-станции MacOSX.И я не хочу этого.Это также означает, что он каким-то образом регистрируется в Какао как приложение с графическим интерфейсом.
Мой вопрос не только для Mac.Я хотел бы знать, есть ли для Qt «официальный» способ сделать это.Только если нет, я хотел бы знать конкретные способы сделать это, например, на Mac на данный момент.
Несколько более конкретно о Mac:
Есть также LSBackgroundOnly свойство, которое можно установить для пакета приложения и которое идет в направлении к тому, что я хочу (из-за чего я до сих пор не уверен, действительно ли оно действительно только для консоли, например, также будет работать без Quartz и т. Д.).Тем не менее, у меня нет комплекта приложений вообще;это просто простой двоичный файл (для использования в качестве инструмента командной строки в оболочках).
На данный момент у меня есть небольшой обходной путь, чтобы скрыть значок док-станции, но он довольно уродлив, когда он сначала появляется изатем уходит: (код Python, но это не имеет большого значения ...)
def hideMacDockIcon():
# http://stackoverflow.com/a/9220857/133374
import AppKit
# https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSRunningApplication_Class/Reference/Reference.html
NSApplicationActivationPolicyRegular = 0
NSApplicationActivationPolicyAccessory = 1
NSApplicationActivationPolicyProhibited = 2
AppKit.NSApp.setActivationPolicy_(NSApplicationActivationPolicyProhibited)
app = QApplication(sys.argv)
if sys.platform == "darwin":
hideMacDockIcon()
Кроме того, я не уверен, работает ли он и в других средах, возможно, как системный демон или около того.