我正在尝试编写一个应用程序,其中包含一个GtkBox(水平),根据各种条件添加动态数量的带有标签的按钮。现在我想防止GtkBox增长超过(例如)600px。按钮标签可以被省略。
因此,我的问题是,是否有任何常见的解决此问题的方法?如果没有,我认为我需要创建一个新的容器类来监视其大小。
我正在使用GTK的C API(gtk+-3.0)。
因此,我的问题是,是否有任何常见的解决此问题的方法?如果没有,我认为我需要创建一个新的容器类来监视其大小。
我正在使用GTK的C API(gtk+-3.0)。
max-width
CSS属性。未来版本可能会实现该属性,因为已经有很多请求。您可以创建一个新的容器子类并从GtkBin
继承,以保持简单,然后在您的size_allocate
处理程序中将宽度限制在最大值之内,然后将其传递给子小部件。您还可以尝试使用Emeus, 这是一种约束布局库,与iOS的实现方式类似。size-allocate
信号,并在接收到它时调用 set_size_request
来实现缩小小部件的尺寸请求。size-allocate
信号处理程序中强制重新布局通常会对性能产生负面影响。虽然它通常可以工作,但可能会导致丑陋的“卡顿”,其中小部件在着陆之前会跳过几个大小迭代。 - ptomato