C++ 如何使用QT为MacOS/X桌面的全局菜单创建Evernote类小部件?
如何创建位于MacOS顶部的应用程序,类似于下图。您可以看到C++ 如何使用QT为MacOS/X桌面的全局菜单创建Evernote类小部件?,c++,macos,qt,user-interface,C++,Macos,Qt,User Interface,如何创建位于MacOS顶部的应用程序,类似于下图。您可以看到Evernote大象图标 我不想使用xcode——因为我的应用程序已经内置了QT,它有很好的GUI,现在我想添加一些类似于Evernote的扩展功能。如果我点击一头大象,它会打开一个对话框来写笔记。在我的例子中,这是一个简单的事件,比如开/关按钮 我已经尝试并创建了GUI小部件应用程序,但如何创建一个像Evernote应用程序一样驻留的应用程序呢 如果您已经有一个为Qt编写的程序,那么您可以在MacOS/X下编译和运行它,就像在(您现在
Evernote大象图标
我不想使用xcode
——因为我的应用程序已经内置了QT,它有很好的GUI,现在我想添加一些类似于Evernote的扩展功能。如果我点击一头大象,它会打开一个对话框来写笔记。在我的例子中,这是一个简单的事件,比如开/关按钮
我已经尝试并创建了GUI小部件应用程序,但如何创建一个像Evernote应用程序一样驻留的应用程序呢 如果您已经有一个为Qt编写的程序,那么您可以在MacOS/X下编译和运行它,就像在(您现在使用的任何操作系统)下编译它一样。您需要安装XCODEL,因为XCODE包含编译C++ QT程序所需的C++编译器(CLAN),但如果不想使用XCIDE IDE,则不必使用XCIDE IDE。相反,您可以在MacOS/X下使用QtCreator IDE,或者只需打开一个终端窗口,在基于Qt的程序的.pro文件所在的目录中执行“qmake;make”,然后从命令行以这种方式构建它
另一方面,如果您的问题实际上是关于如何将图标添加到MacOS/X桌面的全局菜单,那么我认为Qt没有用于此的API,因此您需要使用MacOS/X的一个本机API。这可能需要学习一些Objective-C(或者Objective-C++,如果你愿意的话),但是将Objective-C/C++集成到你的Qt应用程序中只需要一点工作就可以了。像图中那样的自定义弹出菜单可以在Qt中以多种方式完成
QML
是使用您正在寻找的定制样式制作菜单的最现代方式
将适当的标志应用于窗口/小部件,使其显示为弹出窗口
同样的效果也可以在QWidgets
中实现,但是需要更多的代码,而且可能需要更长的时间。您要查找的标志将在Qt窗口标志和/或Qt小部件属性下找到
不同操作系统的Qt的库存样式主要涉及标题栏、状态栏、按钮、下拉列表等
Mac的基本样式可在此处找到:
一旦你进入一个定制的弹出窗口,你必须自己绘制所有的内容。。。但是Qt中的原生绘图元素足够友好,可以让你看起来像你想要做的那样
甚至有一些工具可以直接从Photoshop或Gimp导出到QML
希望对您有所帮助。您正在寻找一个托盘图标。Qt在中实现它 进一步信息
- 你可以看一看这本书
- 在这个问题上存在许多问题