Button

Button[label,action]

表示一个标记为 label 的按钮,当按下该按钮时执行 action 操作.

更多信息和选项

  • label 可为包括动态表达式在内的任意表达式. »
  • Button 缺省以 "Button" 样式显示 label,此样式通常使用系统按钮字体.
  • Button[label,action]action 保持在未操作状态,只有在每次按钮按下时才执行操作.
  • 可给定的选项如下:
  • Alignment Automatic如何排列按钮上的内容
    Appearance Automatic按钮的总体外观
    AutoAction False当鼠标在按钮上时,是否自动按下按钮
    Background Automatic按钮背景色
    BaselinePosition Automatic与周围文本对齐
    BaseStyle "GenericButton"对按钮的基本样式说明
    ContentPadding True是否紧挨内容收缩边幅
    Enabled Automatic按钮为可用或不可用
    Evaluator Automatic运算 expr 的内核
    FrameMargins Automatic边框中所留最小边幅
    ImageMargins 0所显示按钮图像周围的边幅
    ImageSize Full所显示按钮的总图像尺寸
    Method "Preemptive"所用的求值方法
    TooltipNone按钮的工具提示
    TooltipDelay0.`显示工具提示之前的延迟需要多久
    TooltipStyle{}工具提示的样式规范
  • 若缺省设置为 ImageSize->Full,则调整按钮的尺寸使之能填充 Grid 中封闭区域或其它相关结构.
  • 若设置为 ImageSize->Automatic,则按钮的尺寸将与其内容相符,但是不会扩展到填满整个封闭区域.
  • ImageSize 设置为 TinySmallMediumLarge 是将按钮指定为特定的系统标准最小尺寸.
  • Appearance 选项的标准可能设置包括有 "DialogBox""Frameless""Palette""FramedPalette". 在一些特例中,同样支持 "AbuttingLeftRight""AbuttingRight" 和其它设置.
  • Appearance->"Pressed" 显示按钮被点按后的外观. Appearance->{type,"Pressed"} 按一定样式显示按钮被点按后的外观.
  • 若设置为 Appearance->None,则 label 按字面显示,而不被放置在按钮中显示. »
  • Method 选项的标准可能设置包括有 "Preemptive""Queued".
  • 使用默认设置 Method->"Preemptive",按钮行动立即先于任何其它求值立即执行,但是只在有限的时间内完成.
  • 使用设置 Method->"Queued",按钮行动加入到目前求值的队列中,当其它求值完成后执行. 没有时间限制.
  • BaseStyle 的设置被追加到缺省样式中,缺省样式由当前样式单中的 "Button" 样式属性给出.
  • Button[label] 显示一个标签为 label 的按钮,但不执行任何操作.
  • Button[prims,action] 可用于图形对象内部,指定一旦图形基元 prims 被点击即执行 action. »
  • Button[label,None,BaseStyle->stylename] 从样式表中 stylename 的定义中继承按钮功能. 这样的样式通常允许 \[SelectionPlaceholder] 用于 label 中以表示当前选中的文本.
  • 在默认的提供 Button 功能的样式表中定义的某些样式名称:
  • "Paste"在当前选择下,使用 NotebookApply,将标签按钮作为被应用的数据使用
    "Evaluate"在当前选择下,按顺序使用 NotebookApplySelectionEvaluate
    "EvaluateCell"在当前选择下,使用 NotebookApply,然后计算包含选择的整个单元
    "CopyEvaluate"等价于 "Evaluate",不同之处在于把结果粘贴到一个新的单元,而不是改变当前选中的单元
    "CopyEvaluateCell"等价于 "EvaluateCell",不同之处在于把更改应用到输入单元的一个新创建的备份中,而不是改变当前选中的单元

范例

打开所有单元关闭所有单元

基本范例  (1)

创建一个打印数字的按钮:

范围  (7)

按钮内容  (3)

用任意表达式作为标签:

用动态标签:

用图形基元作为按钮:

按钮控制  (2)

创建一个按钮序列,用 With 来确保 i 的计算:

另外一种方法得到按钮内容的所求值:

按字面显示标记,没有按钮的外观:

按钮样式  (2)

显示一个对选中表达式排序的按钮:

选择下面的列表,并且点击按钮以对其进行排序:

显示一个按钮,这个按钮在一个表达式周围使用 Factor 进行封装,接着计算整个单元:

选择下面的前三项,然后点击按钮对它们进行因式分解:

推广和延伸  (2)

按屏幕坐标获取鼠标的位置:

按图形坐标获取鼠标的位置:

选项  (23)

Alignment  (1)

不同的预定义对齐选项:

Appearance  (4)

预定义按钮外观:

在一些平台上,也可定义以下的外观:

用第二元素去获取被点按按钮的外观:

使用一种特殊的按钮外观:

AutoAction  (1)

缺省情况下,按钮函数直到被点击后才求值:

通过设定 AutoAction,按钮函数能在鼠标移动到按钮区域上方时求值:

Background  (2)

改变背景色:

每点击一次按钮就改变一次背景色:

BaselinePosition  (2)

与周围文本对齐:

每点击一次按钮就改变一次基线位置:

BaseStyle  (2)

为按钮添加样式:

选择按钮行为:

选择下面的表达式,并且点击上面的按钮以进行内部展开:

ContentPadding  (1)

删除标签周围没有字母的上半(或下半)出头部分的额外空格:

Enabled  (1)

缺省时启用 Button

通过设置 Enabled->False,按钮不可用但是可见其当前状态:

Evaluator  (1)

缺省情况下,按钮函数被送往内核求值:

若设置 Evaluator,则按钮函数在前端被求值:

前端不具备所有的功能性:

FrameMargins  (1)

通过设置 FrameMargins 可以使按钮内容所占区域变大:

ImageMargins  (1)

通过设置 ImageMargins,可以使按钮所占区域变大:

ImageSize  (4)

使用预置值:

或使用其它值:

通过设置第二个元素,也可以控制高度:

完全自定义的图像尺寸:

Method  (2)

缺省情况下,按钮函数在抢占式链接上求值,在5秒钟之后超时:

使用 Method"Queued" 对按钮函数在主链接上求值,主链接永远不会超时:

指定停止按钮事件需要先打断一个求值:

应用  (5)

创建一个打印当前日期的按钮:

创建一个可消除自身的按钮:

创建自己的超链接:

当鼠标移到按钮上时,改变颜色:

创建一个按钮,对项目列表进行排序:

选择下面的列表,然后点击上面的按钮对列表进行排序:

属性和关系  (2)

创建一个间隔紧密的按钮组成的网格:

创建一个有当前选项的按钮:

可能存在的问题  (4)

一些函数需要用内核进行计算:

通过指定 Background 选项对按钮加一个普通外观:

ImageSize 调控 Grid 中的按钮:

使用 Method->"Queued" 来避免先占链接的暂停:

巧妙范例  (3)

每次点击按钮都会使圆盘的颜色改变:

每次点击按钮后,按钮的位置都会改变:

用图形基元作为按钮:

Wolfram Research (2007),Button,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Button.html (更新于 2010 年).

文本

Wolfram Research (2007),Button,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Button.html (更新于 2010 年).

CMS

Wolfram 语言. 2007. "Button." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2010. https://reference.wolfram.com/language/ref/Button.html.

APA

Wolfram 语言. (2007). Button. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Button.html 年

BibTeX

@misc{reference.wolfram_2024_button, author="Wolfram Research", title="{Button}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/Button.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_button, organization={Wolfram Research}, title={Button}, year={2010}, url={https://reference.wolfram.com/language/ref/Button.html}, note=[Accessed: 17-November-2024 ]}