浏览代码

radio buttons

Falko Schindler 4 年之前
父节点
当前提交
2449dffeea
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 1 0
      main.py
  2. 7 0
      nice_gui.py

+ 1 - 0
main.py

@@ -22,6 +22,7 @@ with ui.card():
     ui.label('Interactive elements', 'h5')
     ui.button('Click me!', on_click=lambda: output.set_text('Click'))
     ui.checkbox('Check me!', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))
+    ui.radio(['A', 'B', 'C'], on_change=lambda e: output.set_text(e.value))
     output = ui.label()
 
 with ui.card():

+ 7 - 0
nice_gui.py

@@ -73,6 +73,13 @@ class Ui(Starlette):
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
         return Element(view)
 
+    def radio(self, options, value=None, on_change=None):
+
+        view = jp.QOptionGroup(value=value, options=[{'label': o, 'value': o} for o in options])
+        if on_change is not None:
+            view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
+        return Element(view)
+
     @contextmanager
     def plot(self, close=True):