iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
自我挑戰組

python的撞坑紀錄系列 第 24

Menu、Popover、Tooltip

  • 分享至 

  • xImage
  •  

Menu

菜單,轉換過去也就是一個list

def index():
    return rx.center(
        rx.menu(
            rx.menu_button('菜單'),
            rx.menu_list(
                rx.menu_item('1'),
                rx.menu_divider(),
                rx.menu_item('2'),
                rx.menu_item('3'),
            )
        )
    ) 

示意圖如下
https://ithelp.ithome.com.tw/upload/images/20231003/20141325YdZbNbQeQy.png

menu_divider()是分隔線,裡面沒辦法有新的元件,不過可以寫入style...也就是css的部分。

如果修改成以下樣式...

rx.menu_item('2', command = 'left'),

示意圖。
https://ithelp.ithome.com.tw/upload/images/20231003/20141325cEDqIkdvev.png

Modal

互動視窗,在計算機應用程序的用戶界面設計中,模式窗口是從屬於應用程序主窗口的圖形控制元素。

class ModalState(rx.State):
    show: bool = False

    def change(self):
        self.show = not (self.show)



def index():
    return rx.box(
    rx.button(
        "點我確認", 
        on_click = ModalState.change
    ),
    rx.modal(
        rx.modal_overlay(
            rx.modal_content(
                rx.modal_header(
                    "這裡是 header"
                ),
                rx.modal_body(
                    "這裡是 body"
                ),
                rx.modal_footer(
                    rx.button(
                        "關閉", 
                        on_click = ModalState.change
                    )
                ),
            )
        ),
        is_open = ModalState.show,
    ),
)

這裡就不更改官網的範例了,示意圖如下。

https://ithelp.ithome.com.tw/upload/images/20231003/20141325Vu6cWBtQVL.png

其實和昨天寫的alterdialogDrawer都差不多,就是在寫的時候注意一下props的部分即可。

Popover

彈出視窗是一種常見的使用者介面元素,通常用於顯示短暫的訊息、選項或內容。

def index():
    return rx.popover(
    rx.popover_trigger(rx.button("點我")),
    rx.popover_content(
        rx.popover_header("這裡是 header"),
        rx.popover_body(
            rx.button_group(
                rx.button('1'),
                rx.button('2'),
                style = {'color': "green.500"},
            )
        ),
        rx.popover_footer(rx.text("這裡是 footer")),
        rx.popover_close_button(),
    ),
)

結果圖如下。
https://ithelp.ithome.com.tw/upload/images/20231003/20141325uUh0I3RznY.png

Tooltip

滑鼠挪過去會出現的簡單提示。

def index():
    return rx.center(
        rx.tooltip(
            rx.text('這是範例', font_size = 50, color = 'green.500'),
            label = '我也是範例。',
            arrow_shadow_color = 'white',
            open_delay = 2
        )
    )

範例圖如下。
https://ithelp.ithome.com.tw/upload/images/20231003/20141325eilF0WbskT.png


上一篇
AlertDialog和Drawer
下一篇
HTML和Script
系列文
python的撞坑紀錄33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言