我不明白如何在Fyne中制作固定尺寸的标签。我找不到任何方法
func main() {
a := app.New()
w := a.NewWindow("Fyne Demo")
label1 := widget.NewLabel("Hello Fyne\n\nline\n\nline\n\nline\n\n\n\nline")
label2 := widget.NewLabel("Text")
edit1 := widget.NewEntry()
btn1 := widget.NewButton("Run", func() {
label1.SetText("Hello World")
})
container := container.NewVBox(label1, label2, edit1, btn1)
w.SetContent(container)
w.Resize(fyne.NewSize(300,400))
w.ShowAndRun()
}
点击btn1后,随着文本的改变,它会自动调整大小。如何防止这种情况发生?
2条答案
按热度按时间vjrehmav1#
如果您想制作一个固定大小的标签,当文本改变时不会自动调整大小,您可以按照以下步骤操作:
1.将标签 Package 在容器内:这意味着将Label小部件放在另一个容器小部件中。在这种情况下,可以使用container.NewMax()函数创建容器。
1.设置所需的固定大小:创建容器后,可以使用Resize()方法指定所需的容器大小。此尺寸将确定标签的固定尺寸。
通过将Label Package 在容器中并为容器设置固定大小,可以实现Fyne中具有固定大小的Label的效果。
rsl1atfo2#
在与平台无关的工具包中,固定大小的小部件是一个危险的概念,因此我们默认将它们设置为最小大小。这样,它就可以在最小的屏幕上显示。
窗口正在调整大小,因为您的内容对于窗口来说太大了。为了防止这种情况发生,更好的方法是给予小部件更多的空间,这样它就不必强制窗口变大。像
Window.Resize
这样的东西会要求操作系统提供更多的空间。