社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  tornado

如何在Tornadofx中将MinHeight和MinWidth设置为窗口?

Mirmuhsin Sodiqov • 6 年前 • 1240 次点击  

我正在使用 TornadoFX 在我的项目中。我有一个根视图,它是 borderPane . 我能找到 setPrefSize(1200.0, 720.0) 而且效果很好。但是,默认情况下,窗口是可调整大小的,用户可以不受任何限制地调整它的大小。有什么属性或方法要设置吗 minHeight minWidth 窗口的大小,当调整大小时,它会在这些限制处停止?

到目前为止,我已经尝试过这些方法,但它们似乎都不起作用:

override val root = borderPane {
   minHeight = 400.0
   minWidth = 600.0
   setMinSize(600.0, 400,0)
   setWindowMinSize(600, 400) // this throws NPE
   addClass(loginScreen) // I even set properties in CSS
}


// StyleClass

loginScreen{
   minWidth = 600.px
   minHeight = 400.px
}

正确的设置方法是什么 最小高度 最小宽度 龙卷风中的一扇窗户?还有一件事,我如何在TornadoFx中禁用窗口大小调整,没有调用的属性 isResizable ? 另外,我是科特林和龙卷风的超级新手。今天刚开始。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30821
 
1240 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Edvin Syse
Reply   •   1 楼
Edvin Syse    6 年前

你走对了。根组件的首选大小将成为窗口的初始大小。您可以进一步配置窗口的最小大小,但不能在uicomponent的构造函数中进行配置,因为它是在实际窗口显示之前创建的。因为这个原因, onDock 回调是配置窗口的好地方 setWindowMinSize . 如果这是主要的应用程序窗口,一个更好的策略是重写 start 并配置 minWidth minHeigh 的属性 Stage (这是一扇窗户)。

值得注意的是,便利功能 设置窗口大小 只有在重写时才可用 船坞 在uicomponent中,因为它被定义为设置uicomponent当前阶段最小大小的快捷方式。如果你重写 开始 ,您必须直接操作属性,如下所示:

class MyApp : App(MainView::class) {
    override fun start(stage: Stage) {
        with(stage) {
            minWidth = 600.0
            minHeight = 400.0
            super.start(this)
        }
    }
}

class MainView : View() {
    override val root = borderpane {
        setPrefSize(1200.0, 720.0)
    }
}

你可以设定 isResizable = false 在舞台/窗口 开始 如果要防止调整大小,也可以使用。