我正在制作一个应用程序,其中我有一个组合,它在另一个组合中有几个按钮。问题是,当我用按钮调整组合尺寸时,有时按钮会被隐藏起来。我通过将composite.layout()替换为composite.requestLayout()方法来解决这个问题。这两个方法之间的区别是什么,以及为什么它在requestLayout()中很好地工作,有时还可以使用layout(),据我所见,它们非常相似。谢谢!
发布于 2020-08-04 15:20:28
Composite.layout请求再次布局复合及其子程序。如果复合的内容越来越大,那么而不是会告诉组合的父级,它需要更多的空间,所以有些东西最终可能会被隐藏。
Composite.requestLayout (实际上是Control.requestLayout)请求再次布局Shell中控件的所有祖先控件(这是异步完成的)。这将调整一切必要的空间。
https://stackoverflow.com/questions/63249777
复制相似问题