User interface 如何在Fyne中将窗口调整为对话框大小
我使用的是Go的Fyne软件包。我只想显示一个对话框,并让窗口自动调整到对话框的最大大小。我已经阅读了文档并查看了示例,但我在任何地方都找不到!窗口始终为0x0像素。如果我调整窗口的大小,我可以看出对话框有一个最大的高度和宽度,但我似乎无法将其反馈到窗口的大小。这是我的密码:User interface 如何在Fyne中将窗口调整为对话框大小,user-interface,go,fyne,User Interface,Go,Fyne,我使用的是Go的Fyne软件包。我只想显示一个对话框,并让窗口自动调整到对话框的最大大小。我已经阅读了文档并查看了示例,但我在任何地方都找不到!窗口始终为0x0像素。如果我调整窗口的大小,我可以看出对话框有一个最大的高度和宽度,但我似乎无法将其反馈到窗口的大小。这是我的密码: import ( "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/dialog" )
import (
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/dialog"
)
var myApp fyne.App
func 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。我真的非常感谢你的帮助 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()
}