【发布时间】:2017-01-08 17:26:45
【问题描述】:
我正在 OS X 上制作一个控制台应用程序,它与桌面环境的特定部分(主要是使用 QCursor 的鼠标)进行交互,所以我不能使用 QCoreApplication(尽管我很想这样做)。
该应用程序运行良好,只是每当我从命令行运行它时它就会显示在 Dock 中。我在网上查看了其他几个问题,但没有一个能解决我遇到的问题。
我查看了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 Huh。它为我打开了一个窗口......
-
@FlareCat hiding it manually 怎么样?
-
@HiI'mFrogatto 谢谢!我打算尝试将其保留为独立的可执行文件,但我很快就会试一试。
-
@HiI'mFrogatto 谢谢!有效。如果您创建答案,我会接受。
标签: c++ qt command-line window qapplication