54
67

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pythonで使えるモダンなGUIライブラリ nicegui

Last updated at Posted at 2022-10-05

記事を書こうと思ったきっかけ

初めての投稿でtkinterを使っていましたが見た目が古くさい感じがしたので代わりに使えそうなGUIライブラリを探していると使いやすそうなライブラリを見つけたので記録として残そうと思いました。

from nicegui import ui

ui.button()
ui.run()

基本的な書き方はui.作りたい部品()、最後にui.run()で表示されます。
ボタンだけでなく、チェックボックスやラジオボタンもui.checkbox(),ui.radio()で作成可能です。

ui.button('check', on_click=lambda: print('hello world!'))
ui.run()

ボタンなどに文字を表示させるときは引数に文字列を指定し、ユーザーからの入力後処理をさせたいときにはon_click, on_changeに処理をさせる関数を指定します。

with ui.row():
    ui.button('click', on_click=lambda: output.set_text('ok'))
    ui.checkbox('check me!')
    ui.icon('home')
    output=ui.label('').classes('text-bold')
ui.run()

作った部品を行方向に並べたいときはui.row()を使い,ui.column()を使えば列方向に並べることができます。

with ui.card():
    with ui.row():
        ui.button('click')
        ui.checkbox('check me!')
        ui.icon('home')
    with ui.row():
        ui.button('click')
        ui.checkbox('check me!')
        ui.icon('home')

with ui.card():
    with ui.row():   
        ui.button('click')      
        ui.checkbox('check me!')
        ui.icon('home')
    with ui.column():
        ui.button('click')
        ui.checkbox('check me!')
        ui.icon('home')

ui.run()

ui.card()を使えば、ボタンやチェックボックスをグループ分けして使うことができます。

最後に

niceguiは引数を変更するだけで様々な見た目に変更できるので、今後guiを使うときは活用したいと思います。
ドキュメントにわかりやすく、いろいろな部品の説明がされているので是非見てみてください。

54
67
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
67

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?