第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Fyne 制作擴(kuò)展和拉伸的布局框

如何使用 Fyne 制作擴(kuò)展和拉伸的布局框

Go
青春有我 2022-05-18 17:00:09
我想要用于布局小部件的擴(kuò)展和拉伸框,以便我的應(yīng)用程序如下所示: 即頂部和中間的盒子在兩個方向上都很長。我嘗試將此代碼與 Box 一起使用(因為我在文檔中沒有找到任何“免費”布局):package mainimport (    "fyne.io/fyne"    "fyne.io/fyne/app"    "fyne.io/fyne/layout"    "fyne.io/fyne/widget")func main() {    f := app.New()    w := f.NewWindow("")    label1 := widget.NewLabel("Label1")    b1 := widget.NewButton("Button1", func() {})    b2 := widget.NewButton("Button2", func() {})    label2 := widget.NewLabel("Label3")    w.SetContent(        fyne.NewContainerWithLayout(            layout.NewVBoxLayout(),            fyne.NewContainerWithLayout(layout.NewVBoxLayout(), label1),            fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), b1, b2, layout.NewSpacer()),            label2),    )    w.ShowAndRun()}但這絕對不是一回事:fyne 是否支持這種布局以及如何正確執(zhí)行?
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊

http://img1.sycdn.imooc.com//6284b5cc00017a6e06960502.jpg

像這樣?或者描述更多細(xì)節(jié)。


package main


import (

    "fyne.io/fyne"

    "fyne.io/fyne/app"

    "fyne.io/fyne/layout"

    "fyne.io/fyne/widget"

)


func main() {

    f := app.New()

    w := f.NewWindow("")

    label1 := widget.NewLabel("Label1")


    b1 := widget.NewButton("Button1", func() {})

    b2 := widget.NewButton("Button2", func() {})

    label2 := widget.NewLabel("Label3")


    w.SetContent(

        fyne.NewContainerWithLayout(

            layout.NewVBoxLayout(),

            fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), label1, layout.NewSpacer()),

            layout.NewSpacer(),

            fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), b1, b2, layout.NewSpacer()),

            layout.NewSpacer(),

            fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), label2, layout.NewSpacer()),

        ),

    )


    w.Resize(fyne.Size{Height: 320, Width: 480})


    w.ShowAndRun()

}


編輯:試過NewBorderLayout但不確定這是否是你想要的。


拿到的時候別忘了告訴我正確的方法。祝你好運!


package main


import (

    "fmt"


    "fyne.io/fyne"

    "fyne.io/fyne/app"

    "fyne.io/fyne/layout"

    "fyne.io/fyne/widget"

)


func main() {

    f := app.New()

    w := f.NewWindow("")

    label1 := widget.NewLabel("Label1")


    b1 := widget.NewButton("Button1", func() { fmt.Println("button1") })

    b1.ExtendBaseWidget(b1)


    b2 := widget.NewButton("Button2", func() { fmt.Println("button2") })

    b2.ExtendBaseWidget(b2)


    label2 := widget.NewLabel("Label3")


    labox1 := fyne.NewContainerWithLayout(layout.NewGridLayoutWithRows(3),

        fyne.NewContainerWithLayout(

            layout.NewCenterLayout(),

            label1,

        ))


    labox2 := fyne.NewContainerWithLayout(layout.NewCenterLayout(), label2)


    w.SetContent(

        fyne.NewContainerWithLayout(

            layout.NewBorderLayout(

                labox1,

                labox2,

                nil,

                nil,

            ),

            labox1,

            labox2,

            fyne.NewContainerWithLayout(

                layout.NewAdaptiveGridLayout(2),

                b1,

                b2,

            ),

        ),

    )


    w.Resize(fyne.Size{Height: 320, Width: 480})


    w.ShowAndRun()

}

http://img1.sycdn.imooc.com//6284b5db0001e10f05080379.jpg

查看完整回答
反對 回復(fù) 2022-05-18
?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

如果您希望擴(kuò)展中心內(nèi)容,我建議您使用 BorderLayout,Box 小部件旨在將項目打包而不是展開。VBox 將擴(kuò)展寬度并使用元素的 minSize 作為它們的高度(以創(chuàng)建一個偶數(shù)列表),而 HBox 將擴(kuò)展高度同時保持項目的最小寬度(如按鈕欄)。

為了打包整個應(yīng)用程序 UI,您更有可能直接使用容器,例如fyne.NewContainerWithLayout(layout.NewBorderLayout(...), ...)您可能會發(fā)現(xiàn)Fyne Tour的布局部分很有幫助,特別是BorderLayout。


查看完整回答
反對 回復(fù) 2022-05-18
  • 2 回答
  • 0 關(guān)注
  • 362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號