Go -- fyne Gui编程的 布局 - 前端笔记-1. Hbox 布局 (横向布局) packagemain import( fyne.io/fyne/v2...

学习笔记

点滴记忆
回忆过往
首页>> web后端 >>Go -- fyne Gui编程的 布局 - 前端笔记
1. Hbox 布局 (横向布局

package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })
    // HBox 布局(横向布局)
    w.SetContent(container.NewHBox// 给窗口添加控件
        hello1, // 标签控件
        hello2, // 标签控件
        hello3, // 标签控件
        button,
    ))
    w.Resize(fyne.NewSize(500500)) // 设置窗口大小
    w.ShowAndRun()


2. VBox 布局  (纵向布局)

package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })

    // VBox 布局(纵向布局)
    w.SetContent(container.NewVBox// 给窗口添加控件
        hello1, // 标签控件
        hello2, // 标签控件
        hello3, // 标签控件
        button,
    ))

    w.Resize(fyne.NewSize(500500)) // 设置窗口大小
    w.ShowAndRun()

3. Center 布局 (居中布局)

package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })

    // Center 布局(居中布局)
    w.SetContent(container.NewCenter// 给窗口添加控件
        hello1, // 标签控件
        hello2, // 标签控件
        hello3, // 标签控件
        button,
    ))

    w.Resize(fyne.NewSize(500500)) // 设置窗口大小
    w.ShowAndRun()

4. Form 布局 (类似表单布局)

package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })

    // Form 布局(标签布局)
    w.SetContent(widget.NewForm(
        widget.NewFormItem("1",hello1),
        widget.NewFormItem("2",hello2),
        widget.NewFormItem("3",hello3),
        widget.NewFormItem("4",button),// 给窗口添加控件
    ))

    w.Resize(fyne.NewSize(500500)) // 设置窗口大小
    w.ShowAndRun()

5. 组合布局


package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })

    // 组合布局
    con1 := container.NewVBox(hello1, hello2 )
    con2 := container.NewVBox(button, hello3)
    w.SetContent(container.NewHBox(con1, con2))

    w.Resize(fyne.NewSize(500500)) // 设置窗口大小
    w.ShowAndRun()

6. Grid 布局 (自适应布局)  让控件都有均匀大小


package main

import (
    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.New()            // 创建一个窗口
    w := a.NewWindow("Hello"// 给窗口设置一个标题

    hello1 := widget.NewLabel("111111111111"// 创建一个标签
    hello2 := widget.NewLabel("222222222222"// 创建一个标签
    hello3 := widget.NewLabel("333333333333"// 创建一个标签
    button := widget.NewButton("Hi!"func() { // 按钮控件  按钮是带点击事件的
        hello1.SetText("Welcome :)"// 修改标签的 标题
    })
    // Grid 布局--- 没整明白是什么布局
    //w.SetContent(container.NewGridWithColumns(2, hello1, hello2, hello3, button, button, button))
    w.SetContent(container.NewAdaptiveGrid(2, hello1, hello2, hello3, button))

    //w.Resize(fyne.NewSize(500, 500)) // 设置窗口大小
    w.ShowAndRun()



×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » Go -- fyne Gui编程的 布局

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)