csdn0811 2024-10-17 17:21 采纳率: 60.7%
浏览 24

fyne中如何把按钮的长度缩短,试了很多方法都不行

如何把按钮的长度缩短,试了很多方法都不行


package main

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

func main() {
    myApp := app.New()
    myWindow := myApp.NewWindow("Padded Layout Example")

    // 创建一些按钮作为示例
    btn1 := widget.NewButton("Button 1", func() { println("Button 1 clicked") })
    btn2 := widget.NewButton("Button 2", func() { println("Button 2 clicked") })
    btn3 := widget.NewButton("Button 3", func() { println("Button 3 clicked") })

    // 创建填充布局容器
    // 创建一个垂直布局容器,允许按钮在垂直方向上排列
    paddedContainer := container.New(layout.NewVBoxLayout(),
        layout.NewSpacer(), // 添加一个可扩展的间隔
        // 创建一个新的容器,其中 layout.NewPaddedLayout() 为按钮添加填充效果。这使得按钮周围会有额外的空间
        container.New(layout.NewPaddedLayout(), btn1),
        container.New(layout.NewPaddedLayout(), btn2),
        container.New(layout.NewPaddedLayout(), btn3),
        layout.NewSpacer(), // 添加一个可扩展的间隔
    )

    // 设置窗口内容
    myWindow.SetContent(paddedContainer)
    myWindow.Resize(fyne.NewSize(400, 300)) // 设置窗口初始大小
    myWindow.ShowAndRun()
}

img

  • 写回答

1条回答 默认 最新

  • 无疆76 2024-10-17 17:22
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在 Fyne 中,按钮的长度通常由其内容(即按钮上的文本)的长度决定。如果你想缩短按钮的长度,有几种方法可以尝试:

    1. 更改按钮文本长度:最直接的方法是缩短按钮上的文本。更短的文本将导致按钮自然变短。

    2. 使用固定宽度的布局容器:你可以尝试使用固定宽度的布局容器来限制按钮的宽度。例如,可以使用 layout.NewHBox()layout.NewGrid() 并设置每个单元格的宽度。但这种方法可能会影响到其他元素的布局。

    3. 自定义按钮样式:通过自定义按钮的样式,你可以尝试改变按钮内部的填充或边距来达到缩短外观的效果。这需要更深入的了解 Fyne 的样式系统。

    如果你希望仅更改特定按钮的长度而不影响其他元素,可以尝试以下方法:

    在创建按钮后,使用 widget.ButtonResize 方法手动设置按钮的大小。例如:

    btn1.Resize(fyne.NewSize(100, 0)) // 设置按钮宽度为100像素(或你想要的任何尺寸)
    

    注意,这里的 fyne.NewSize(width, height) 中的 width 是你想要设置的宽度,height 可以设置为 0,因为按钮的高度通常由其内容决定。

    请尝试这些方法看是否能达到你想要的效果。如果这些方法仍然不能满足你的需求,你可能需要更深入地研究 Fyne 的布局和样式系统以找到更合适的解决方案。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月17日