如何在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
相关产品推荐
相关产品推荐

