首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何显示嵌入在NSPopover中的NSMenu?

NSPopover是macOS中的一个弹出窗口,而NSMenu是一个菜单对象。要在NSPopover中显示嵌入的NSMenu,可以按照以下步骤进行操作:

  1. 创建一个NSPopover对象,并设置其内容视图为一个NSViewController对象。
  2. 在NSViewController中创建一个NSMenu对象,并添加所需的菜单项。
  3. 在NSViewController中创建一个NSButton对象,并将其设置为菜单的触发按钮。
  4. 在NSViewController中实现NSButton的点击事件,以显示或隐藏NSPopover。
  5. 在点击事件中,使用NSPopover的show(relativeTo:of:preferredEdge:)方法来显示NSPopover。其中,relativeTo参数指定了NSPopover的参考视图,可以是NSButton或其他视图对象;of参数指定了NSPopover的参考矩形,可以是NSButton的bounds或其他矩形对象;preferredEdge参数指定了NSPopover的显示位置,可以是NSRectEdge的枚举值,如.minX.maxX.minY.maxY等。
  6. 在NSViewController中实现NSMenu的显示方法,以在NSButton点击时显示NSMenu。可以使用NSMenu的popUp(positioning:at:in:)方法来显示NSMenu。其中,positioning参数指定了NSMenu的定位方式,可以是NSMenu的定位选项,如.top.bottom.left.right等;at参数指定了NSMenu的显示位置,可以是NSButton的bounds或其他矩形对象;in参数指定了NSMenu的父视图,可以是NSButton或其他视图对象。
  7. 在NSViewController中实现NSMenu的隐藏方法,以在NSMenu的菜单项被选择时隐藏NSMenu。可以使用NSMenu的cancelTrackingWithoutAnimation()方法来隐藏NSMenu。

通过以上步骤,可以在NSPopover中显示嵌入的NSMenu,并实现点击NSButton显示NSMenu,选择菜单项后隐藏NSMenu的功能。

腾讯云相关产品和产品介绍链接地址:

  • NSPopover相关的产品和服务:腾讯云暂无提供类似的产品和服务。
  • NSMenu相关的产品和服务:腾讯云暂无提供类似的产品和服务。

请注意,以上答案仅供参考,具体实现方式可能因应用场景和需求而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【论文解读】针对生成任务的多模态图学习

    多模态学习结合了多种数据模式,拓宽了模型可以利用的数据的类型和复杂性:例如,从纯文本到图像映射对。大多数多模态学习算法专注于建模来自两种模式的简单的一对一数据对,如图像-标题对,或音频文本对。然而,在大多数现实世界中,不同模式的实体以更复杂和多方面的方式相互作用,超越了一对一的映射。论文建议将这些复杂的关系表示为图,允许论文捕获任意数量模式的数据,并使用模式之间的复杂关系,这些关系可以在不同样本之间灵活变化。为了实现这一目标,论文提出了多模态图学习(MMGL),这是一个通用而又系统的、系统的框架,用于从多个具有关系结构的多模态邻域中捕获信息。特别是,论文关注用于生成任务的MMGL,建立在预先训练的语言模型(LMs)的基础上,旨在通过多模态邻域上下文来增强它们的文本生成。

    02

    ICLR 2022 under review|化学反应感知的分子表征学习

    今天给大家介绍一篇关于分子表征学习的文章。分子表征学习(MRL)旨在将分子嵌入到实向量空间中。然而,现有的基于SMILES(简化分子线性输入系统)或GNN(图神经网络)的MRL方法要么以SMILES字符串作为输入,难以编码分子的结构信息,要么过度强调GNN结构的重要性,而忽视了其泛化能力。因此,作者提出使用化学反应来协助学习分子表征,其核心思想在于保持分子在嵌入空间中的化学反应的等价性,即强制让每个化学方程式的反应物嵌入和生成物嵌入的总和相等,该限制在保持嵌入空间的有序性和提高分子嵌入的泛化能力中被证明是有效的。此外,该模型可以使用任何GNN作为分子编码器,与GNN结构无关。实验结果表明,这种方法在各种下游任务中都达到了最佳性能,超过了最佳基线方法。

    02
    领券