如何阻止QApplication显示在dock中?
How can I stop a QApplication from showing up in the dock?
我正在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();
}
一种变通方法是像这里描述的那样手动执行。
幸运的是,如果它是一个cocoa应用程序,您可以自己隐藏Dock图标。要查看是否可行,请右键单击(Control-click)应用程序图标。如果"显示包装内容"在出现的菜单中,您可以隐藏Dock中的图标。
如果是这种情况,请选择"显示包内容";并在Contents文件夹中查找
"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
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 从数据库实时显示QT c++中的数据
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 显示错误输出的简单数组排序程序
- Qt自定义QPush按钮未显示在布局上
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 显示基于用户输入的整数的字符
- 使用QTreeView,如何通过调用函数只突出显示特定的行/列
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- QT/C++,OS X:退出应用程序时可选择隐藏(),以便应用程序继续运行,并在单击dock中的图标后再次显示
- 如何阻止QApplication显示在dock中?