applescript - AppleScript:带有多行按钮的对话框
问题描述
像这样的代码display dialog "choose" buttons {"yes", "no"}
在一行中创建了一个带有 2 个按钮的对话框,正如预期的那样。
我试图找出是否可以创建多行按钮。
例如,第一行可能有按钮{"red", "yellow", "blue"}
,第二行可能是{"large", "small"}
,第三行可能只是{"cancel"}
。
可能吗?
解决方案
由于 AppleScript 被设计为一个自动化系统,而不是一种成熟的编程语言,因此它一直将其 GUI 限制为简单的“警报”式面板。这个想法是脚本应该尽可能少地打扰用户,显示询问单条信息的对话框,然后让开,以便脚本可以或多或少地不可见地工作。它的本机警报最多有三个按钮(在“是”、“否”、“取消”模型上)。处理多于三个项目的选择的唯一本地方法是使用choose from list
命令,例如:
set meal to choose from list {"Hamburger", "Pizza", "Spaghetti", "Cucumber Salad", "Pork Chops", "Green Eggs and Ham"} with title "Meal Time" with prompt "What do you want to eat?"
这会产生这样的警报:
虽然可以使用 AppleScriptObjC 创建带有多行按钮的多按钮警报,但这是一项不平凡的任务:付出很多努力却收获很少。基本上,必须使用 创建一个新警报NSAlert
,然后创建并附加一个附件视图,您已在其中添加并定位了NSButtons
. 您还必须添加一些逻辑,以便您创建的附件视图按钮充当“警报”按钮(这意味着它们在单击时会关闭警报)。Stack Overflow 并不真正适用于编码服务——尽管人们偶尔会打破这个规则——但如果你想自己完成大部分编码工作,我们很乐意帮助你解决困难。
推荐阅读
- java - CompoundIndexes 注释在 MongoDB 和 Spring 中不起作用
- azure - 将事件从 Azure 事件中心传送到 Azure 服务总线
- javascript - 如何通过单击表格行来检查单选按钮?
- python - 如何制作分类列计数子集的条形图?
- mongodb - 当其中一个字段位于子文档数组中时,如何从集合中获取两个字段的不同组合
- javascript - 有没有办法使用javascript在cookie中存储hrefs
- arrays - 使用 OpenMP 如何在 Fortran 中跨数组应用函数?
- java - 如何在 Repast Simphony 中删除随机化以进行测试?
- python - 如何将此 DRY 代码放入 for 循环?
- arrays - 无法将 Tableview 单元格值添加到 JSON 参数,为什么会为零?迅速