0 みんなに公開
Fyne パッケージについて
概要
- App
基底部分 - Window
ウィンドウ。複数個のウィンドウを表示する場合は別のスレッドでWindow.Show()
を呼ぶ。 - Canvas
アプリケーションが描画される場所。全てのWindowはCanvasを持っているが、直接Window.Canvas()
でアクセスしないのが普通。一つのCanvasObjectを表示するのに用いられる。 - CanvasObject
Fyneにおいて描画される物は全てこの型。 - Container
CanvasObject型の一種。複数のCanvasObjectを配置するのに用いられる。 - Widget
ロジック付きの部品(CanvasObject)
主要な部品
canvasパッケージ
- Rectangle
長方形。最も単純なキャンバスオブジェクト。FillColor
フィールドを用いて色を指定することができる。 - Text
テキスト。Alignment
とTextStyle
を用いて設定を変えることができる。 - Line
線。Position1
,Position2
フィールドやMove()
,Resize()
メソッドを用いることで線を設定することができる。width:0は垂直な線を、height:0は水平な線を表す。 - Circle
円。使わないので省略。 - Image
大きさ可変な画像を表すオブジェクト。 - Raster
1pixelずつ描画できるオブジェクト。 - Gradient
色の勾配を表現できるオブジェクト。
layoutパッケージ
-
Box Layout
最も一般的なレイアウト。垂直に要素を配置するHboxと水平に配置するVboxが存在する。layout.NewSpacer()
を用いて要素間にスペースをとることができる。- Hbox
layout.NewHBoxLayout()
で生成できる。この中に配置される要素の幅は全てその要素の最小幅に設定される。また高さについては、Hbox内の要素がもつ最大のMinSize().Height
に統一される。widget.NewHBox()
でも似たようなことができる。 - Vbox
Hboxを横に倒した版。
- Hbox
-
Grid Layout
格子状に要素を配置するレイアウト。layout.NewGridLayout(cols)
によって生成され、colの数を満たすまで一列に並べ、それ以上の数は次の行へ送られる。fyne.NewContainerWithLayout(...)
の第一引数に渡す。コンテナをリサイズすると、全てのセルが利用可能なスペースを平等に分け合うようにリサイズされる。 -
Fixed Grid Layout
各セルが同じ大きさをもち、ウィンドウの大きさに合わせて自動的に配置が変更されるような格子状のレイアウト。layout.NewFixedGridLayout(size)
で生成される。 -
Border Layout
layout.NewBorderLayout(top, bottom, left, right)
で生成される、上下左右に要素を配置するレイアウト。 -
Form Layout
入力フォームをつくるレイアウト。2列のグリッドと似ているが、横幅を拡張する点は異なる。layout.NewFormLayout()
で生成される。普通widget.Form
の中で用いられる。 -
Center Layout
全ての要素を全て中心に配置するレイアウト。要素は全て最小サイズに設定される。layout.NewCenterLayout()
で生成される。 -
Max Layout
全ての要素をコンテナと同じ大きさに設定するレイアウト。layout.NewMaxLayout()
で生成される。
widgetパッケージ
-
Label
widget.NewLabel("some text")
で生成される、フォーマットが可能なテキストオブジェクト。 -
Button
widget.NewButton()
やwidget.NewButtonWithIcon()
で生成されるボタンオブジェクト。 -
Box
widget.NewHBox()
やwidget.NewVBox()
で生成されるボックスオブジェクト。 -
Entry
widget.NewEntry()
で生成される、文章入力インテーフェースオブジェクト。NewPasswordEntry()
を用いてパスワード用のエントリーも作ることができる。 -
Choices
widget.NewCheck(..)
、widget.NewRadio(...)
、widget.NewSelect(...)
で生成される選択肢オブジェクト。 -
Form
入力部分を配置するウィジェット。widget.NewForm(...)
か&widget.Form{}
で生成することができる。 -
ProgressBar
widget.NewProgressBar()
やwidget.NewProgressBarInfinite()
で生成されるプログレスバー。 -
TabContainer
様々なパネルを切り替えるために使われるタブ。widget.NewTabContainer(...)
で生成される。 -
Toolbar
widget.NewToolbar(...)
で生成されるツールバー。
コメント(0)