Skip to content

CupertinoTintedButton 继承自: CupertinoButton, LayoutControl, ActionControl, Control, BaseControl

An iOS-style button filled with default background color.

python
ft.CupertinoTintedButton("Tap me")

属性 ​

名称类型默认值说明
contentOptional[StrOrControl]NoneThe content of this button.
iconOptional[IconDataOrControl]NoneAn icon shown in this button.
icon_colorOptional[ColorValue]NoneThe foreground color of the icon.
bgcolorOptional[ColorValue]NoneThe background color of this button.
colorOptional[ColorValue]NoneThe color of this button's text.
disabled_bgcolorOptional[ColorValue]NoneThe background color of this button when disabled.
opacity_on_clickAnnotated[Number, V.between(0.0, 1.0)]0.4Defines the opacity of the button when it is clicked. When not pressed, the button has an opacity of 1.0. 抛出异常:ValueError:若不在 0.0 到 1.0 的闭区间内。
min_sizeOptional[Size]NoneThe minimum size of this button.
sizeCupertinoButtonSizeCupertinoButtonSize.LARGEThe size of this button.
paddingOptional[PaddingValue]NoneThe amount of space to surround the content control inside the bounds of the button.
alignmentOptional[Alignment]Alignment.CENTER()The alignment of this button's content. Typically buttons are sized to be just big enough to contain the child and its padding. If the button's size is constrained to a fixed size, this property defines how the child is aligned within the available space.
border_radiusBorderRadiusValueBorderRadius.all(8.0()The radius of the button's corners when it has a background color.
urlOptional[Union[str, Url]]NoneThe URL to open when this button is clicked. Additionally, if on_click event callback is provided, it is fired after that.
autofocusboolFalseWhether this button should be selected as the initial focus when no other node in its scope is currently focused.
focus_colorOptional[ColorValue]NoneThe color to use for the focus highlight for keyboard interactions. Defaults to a slightly transparent bgcolor. If bgcolor is None, defaults to a slightly transparent ACTIVE_BLUE. 'Slightly transparent' in this context means the color is used with an opacity of 0.80, a brightness of 0.69 and a saturation of 0.835.
mouse_cursorOptional[MouseCursor]NoneThe cursor for a mouse pointer when it enters or is hovering over this button.
widthOptional[Number]NoneImposed Control width in virtual pixels.
heightOptional[Number]NoneImposed Control height in virtual pixels.
leftOptional[Number]NoneThe distance that the child's left edge is inset from the left of the stack. Note: Effective only if this control is a descendant of one of the following: Stack control, overlay list.
topOptional[Number]NoneThe distance that the child's top edge is inset from the top of the stack. Note: Effective only if this control is a descendant of one of the following: Stack control, overlay list.
rightOptional[Number]NoneThe distance that the child's right edge is inset from the right of the stack. Note: Effective only if this control is a descendant of one of the following: Stack control, overlay list.
bottomOptional[Number]NoneThe distance that the child's bottom edge is inset from the bottom of the stack. Note: Effective only if this control is a descendant of one of the following: Stack control, overlay list.
alignOptional[Alignment]NoneAlignment of the control within its parent.
marginOptional[MarginValue]NoneSets the margin of the control.
rotateOptional[RotateValue]NoneTransforms this control using a rotation around its center. The value of rotate property could be one of the following types: * number - a rotation in clockwise radians. Full circle 360° is math.pi * 2 radians, 90° is pi / 2, 45° is pi / 4, etc. * Rotate - allows to specify rotation angle as well as alignment - the location of rotation center. Example: python ft.Image( src="https://picsum.photos/100/100", width=100, height=100, border_radius=5, rotate=Rotate(angle=0.25 * pi, alignment=ft.Alignment.CENTER_LEFT) )
scaleOptional[ScaleValue]NoneScales this control along the 2D plane. Default scale factor is 1.0, meaning no-scale. Setting this property to 0.5, for example, makes this control twice smaller, while 2.0 makes it twice larger. Different scale multipliers can be specified for x and y axis, by setting Control.scale property to an instance of Scale class. Either scale or scale_x and scale_y could be specified, but not all of them. Example: python ft.Image( src="https://picsum.photos/100/100", width=100, height=100, border_radius=5, scale=ft.Scale(scale_x=2, scale_y=0.5) )
offsetOptional[OffsetValue]NoneApplies a translation transformation before painting the control. The translation is expressed as an Offset scaled to the control's size. So, Offset(x=0.25, y=0), for example, will result in a horizontal translation of one quarter the width of this control. Example The following example displays container at 0, 0 top left corner of a stack as transform applies -1 * 100, -1 * 100 (offset * control's size) horizontal and vertical translations to the control: python import flet as ft def main(page: ft.Page): page.add( ft.Stack( width=1000, height=1000, controls=[ ft.Container( bgcolor=ft.Colors.RED, width=100, height=100, left=100, top=100, offset=ft.Offset(-1, -1), ) ], ) ) ft.run(main)
flipOptional[Flip]NoneFlips this control horizontally and/or vertically. Set to an instance of Flip to mirror across x-axis, y-axis, or both.
transformOptional[Transform]NoneApplies a generic matrix transform to this control. Set to an instance of Transform with a recorded Matrix4 to describe arbitrary transform sequences.
aspect_ratioOptional[Number]NoneThe aspect ratio of the control. It is defined as the ratio of width to height. Note: In current implementation, if aspect_ratio is set, width and height on the same control are ignored for final rendered size.
animate_opacityOptional[AnimationValue]None启用 opacity 属性的隐式动画。 详见 此处.
animate_sizeOptional[AnimationValue]None启用此控件尺寸的隐式动画。 If width or height is set, changes to those dimensions are animated. If neither dimension is set, changes to the control's natural size are animated instead. 详见 此处.
animate_positionOptional[AnimationValue]None启用定位属性(left、right、top、bottom)的隐式动画。 详见 此处.
animate_alignOptional[AnimationValue]None启用 align 属性的隐式动画。 详见 此处.
animate_marginOptional[AnimationValue]None启用 margin 属性的隐式动画。 详见 此处.
animate_rotationOptional[AnimationValue]None启用 rotate 属性的隐式动画。 详见 此处.
animate_scaleOptional[AnimationValue]None启用 scale 属性的隐式动画。 详见 此处.
animate_offsetOptional[AnimationValue]None启用 offset 属性的隐式动画。 详见 此处.
size_change_intervalint10Sampling interval in milliseconds for on_size_change event. Setting to 0 calls on_size_change immediately on every change.
expandAnnotated[Optional[Union[bool, int]], V.instance_of((bool, int))]None指定此控件是否/如何扩展以填充父布局中的可用空间。 详见 此处. Note: Has effect only if the direct parent of this control is one of the following controls, or their subclasses: Column, Row, View, Page. Raises: ValueError: If it is not of type bool or int.
expand_looseboolFalse允许控件在主轴方向上有可用空间时扩展,但不要求填满所有可用空间。 详见 此处. Note: 若 expand_loose 为 True,则仅当同时满足以下条件时生效: - expand 不为 None,且 - the direct parent of this control is one of the following controls, or their subclasses: Column, Row, View, Page.
colResponsiveNumber12若此控件的父控件是 ResponsiveRow,此属性用于决定该控件横跨多少个虚拟列。 可以是数字,也可以是为不同断点配置不同值的字典,例如 col={"sm": 6}。 0 表示在该断点下隐藏控件,不占用任何列。 默认横跨 12 个虚拟列。 \
opacityAnnotated[Number, V.between(0.0, 1.0)]1.0定义控件的透明度,取值范围 0.0(完全透明)到 1.0(完全不透明)。 抛出异常:ValueError:若不在 0.0 到 1.0 的闭区间内。
tooltipOptional[TooltipValue]None鼠标悬停时显示的 tooltip。
badgeOptional[BadgeValue]None显示在控件顶部的徽标。
visibleboolTrueEvery control has visible property which is True by default - control is rendered on the page. Setting visible to False 完全阻止该控件(及其所有子控件)渲染到页面画布上. 隐藏的控件不能通过键盘或鼠标聚焦或选中,也不会触发任何事件。
disabledboolFalseEvery control has disabled property which is False by default - control and all its children are enabled. Note: The value of this property will be propagated down to all children controls recursively. Example: For example, if you have a form with multiple entry controls you can disable them all together by disabling container: python ft.Column( disabled = True, controls=[ ft.TextField(), ft.TextField() ] )
rtlboolFalse控件的文字方向是否为从右到左(RTL)。
dataAnyskip_任意类型的自定义数据。
keyOptional['KeyValue']None用于在更新之间保持控件身份稳定的 key。
actionOptional[Union[ClientAction, list[ClientAction]]]NoneAction(s) performed by the client when this control is activated, without a round trip to your Python code. Use this for operations a browser only permits while it is handling the user's click, such as opening a file picker, writing to the clipboard, showing a share sheet or opening a new tab. See ClientAction.

只读属性 ​

名称类型默认值说明
parentOptional['BaseControl']—The direct ancestor(parent) of this control. It defaults to None and will only have a value when this control is mounted (added to the page tree). Page 控件(树的根)为例外 —— 它始终 parent=None。
page'Page'—此控件所属的页面。

事件 ​

名称类型默认值说明
on_clickOptional[ControlEventHandler['CupertinoButton']]NoneCalled when a user clicks this button.
on_long_pressOptional[ControlEventHandler['CupertinoButton']]NoneCalled when a user long-presses this button.
on_focusOptional[ControlEventHandler['CupertinoButton']]NoneCalled when this button receives focus.
on_blurOptional[ControlEventHandler['CupertinoButton']]NoneCalled when this button loses focus.
on_size_changeOptional[EventHandler[LayoutSizeChangeEvent['LayoutControl']]]NoneCalled when the size of this control changes. size_change_interval defines how often this event is called.
on_animation_endOptional[ControlEventHandler['LayoutControl']]None动画结束时调用,可用于串联多个动画。 事件参数 data 属性包含动画的名称。 详见 此处.

方法 ​

名称类型默认值说明
focus——Requests focus for this control.
is_isolated——Return whether this control is marked as isolated. 被隔离的控件不会参与父级驱动的更新遍历,需要自行管理更新边界。
init——Called after control instance initialization and before the first build / update cycle. 可重写此钩子执行依赖于已初始化字段的轻量设置。 不要在这里调用 update()。
build——在控件初始化期间调用一次,用于定义其子控件。 page 属性在此方法中可用。
before_update——每次控件即将更新时调用。 Note: 不要在此处调用 update()。
before_event——在事件处理器执行前拦截事件。 返回 False 取消分发,返回 True 或 None 则继续正常的事件处理。
did_mount——在控件挂载到页面树之后调用。 可重写以启动需要已挂载页面的资源,例如订阅、定时器或服务监听。
will_unmount——在控件从页面树移除之前调用。 可重写以释放 did_mount() 中创建的资源,例如订阅、定时器或外部句柄。
get_data_channel——Resolve the [DataChannel] allocated on the Dart side for this widget. Pattern: on_data_channel_open: Optional[ft.EventHandler[DataChannelOpenEvent]] = None def init(self): self.on_data_channel_open = self._on_open def _on_open(self, e): self._channel = self.get_data_channel(e.channel_id) Idempotent — the underlying Connection caches DataChannels by id, so repeated calls return the same instance. No error path: the id always comes from a framework-fired event, so by the time this runs the channel exists on both sides.
updateNone—请求更新该控件的 UI。 在修改控件状态或属性后调用。 控件必须已挂载到页面,并且未被冻结。

关注我,学习大模型、大数据、Python等热门技术。