You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fyne框架中设置主窗口自定义位置?

问题

我无法找到设置窗口位置的函数。查看代码后发现不同元素拥有SetPos函数,但疑惑为何fyne.Window类型未添加该函数。

func main() {
    a := app.New()
    w := a.NewWindow("Trying to position window")

    if drv, ok := fyne.CurrentApp().Driver().(desktop.Driver); ok {
        w = drv.CreateSplashWindow()
        // something like this?
        // w.SetPos(x, y)  
        // w.Move(x, y)    
    }
}

临时解决方案

我fork了项目并创建了如下函数:

func (w *window) GLFWindow() *glfw.Window {
    return w.view()
}  

用于暴露未导出的底层窗口属性w.viewport,现在可以使用诸多相关方法:

if ww := w.GLFWindow(); ww != nil {
    ww.SetPos(x, y)
}

我目前打算使用该修改后的分支,但想了解官方的Fyne实现方式。

疑问

是否存在设置窗口位置的现有方法?或者是否可以访问底层的w.viewport属性?


内容的提问来源于stack exchange,提问作者briiC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:15:38