登录
首页 >  Golang >  Go问答

自动调整窗口尺寸

来源:stackoverflow

时间:2024-03-03 19:45:25 289浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《自动调整窗口尺寸》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我正在使用 go-astilectron(go 的 electron 框架)创建一个应用程序。

我的应用程序有一个无框透明窗口,应根据其内容调整大小。据我所知,我有义务在 electron 中设置窗口的 widthheight 属性,否则它将默认为 800x600。

我想知道的是 electron 是否有办法根据其内容自动调整窗口大小。

我可以使用“一刀切”的方法,但由于我的窗口是无框且透明的,它的某些部分最终会位于其他东西之上,并且由于没有点击,用户会感到困惑以为他正在点击其他应用程序,而实际上他正在点击我的应用程序。

这是我创建窗口的代码:

var w *astilectron.Window

log.Debug("Starting astilectron...")
window := []*bootstrap.Window{{
    Homepage: "http://localhost:3000",
    Adapter: func(i *astilectron.Window) {
        w = i
    },
    Options: &astilectron.WindowOptions{
        MinHeight:          astilectron.PtrInt(50),
        MinWidth:           astilectron.PtrInt(50),
        AlwaysOnTop:         astilectron.PtrBool(true),
        Transparent:         astilectron.PtrBool(true),
        Closable:            astilectron.PtrBool(false),
        Minimizable:         astilectron.PtrBool(false),
        Frame:                   astilectron.PtrBool(false),
        Movable:                 astilectron.PtrBool(true),
        SkipTaskbar:         astilectron.PtrBool(false),
        Resizable:           astilectron.PtrBool(false),
    },
}}

go func() {
    err := bootstrap.Run(bootstrap.Options{
        Windows: window,
        Debug: true,
    })

    if err != nil {
        log.WithError(err).Fatal("Error with Astilectron")
    }
}()

解决方案


尝试设置 UseContentSize:astilectron.PtrBool(true)

UseContentSize 根据页面大小调整窗口大小。文档中是这么说的:

Docs

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>