亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在 Fyne 中將窗口大小調整為對話框大小

如何在 Fyne 中將窗口大小調整為對話框大小

Go
烙印99 2022-07-11 17:37:02
我正在為 Go 使用 Fyne 包。我要做的就是顯示一個對話框,并讓窗口自動調整為對話框的最大大小。我已經查看了文檔并查看了示例,但我在任何地方都找不到它!窗口始終為 0x0 像素。如果我調整窗口大小,我可以告訴對話框具有最大高度和寬度,但我似乎無法將其反饋回窗口的大小。這是我的代碼:import (    "fyne.io/fyne"    "fyne.io/fyne/app"    "fyne.io/fyne/dialog")var myApp fyne.Appfunc main() {    myApp = app.New()    myWindow := myApp.NewWindow("test")    cnfm := dialog.NewConfirm("Test Dialog!", "Are you sure you want to interact with this test dialog?", loseCallback, myWindow)    cnfm.Show()    cnfm.Resize(cnfm.MaxSize())    myWindow.Show()        // uncomment to have a window greater than 0x0    //myWindow.Resize(fyne.NewSize(375, 180))    myApp.Run()}func loseCallback(yes bool) {    myApp.Quit()}這似乎很基本,但我找不到任何方法來實現這一點!我嘗試過使用布局、容器等,但沒有任何區別,窗口始終為 0x0。我真的很感激這方面的幫助!
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

Fyne 并沒有真正的 MaxSize 概念。有 MinSize() (組件永遠不應小于),它的 Size() 是屏幕上的當前大小。對話框出現在當前內容上,因此不受內容布局等的限制或擴展。


由于對話框不是設計為一段時間的主要內容,我想知道是否將您的內容更改為窗口內會更合適(因為當應用程序中發生某些事情并且您想要中斷它時,該對話框真的被使用) .


例如:


import (

    "fyne.io/fyne"

    "fyne.io/fyne/app"

    "fyne.io/fyne/container"

    "fyne.io/fyne/layout"

    "fyne.io/fyne/widget"

)


var myApp fyne.App


func main() {

    myApp = app.New()

    myWindow := myApp.NewWindow("test")


    yes := widget.NewButton("Yes", closeCallback)

    yes.Importance = widget.HighImportance

    myWindow.SetContent(container.NewVBox(

        widget.NewLabel("Are you sure you want to interact with this test dialog?"),

        container.NewHBox(layout.NewSpacer(),

            widget.NewButton("No", closeCallback), yes,

            layout.NewSpacer())))


    myWindow.ShowAndRun()

}


func closeCallback() {

    myApp.Quit()

}


查看完整回答
反對 回復 2022-07-11
  • 1 回答
  • 0 關注
  • 825 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號