首页 > 解决方案 > 允许用户调整窗口大小,使 Gtk3 TextView 组件无法显示所有文本

问题描述

我正在使用 Rust 开发一个 GTK 程序(如果他们不了解 Rust,有人可能会回答这个问题,因为我可以弄清楚如何在不同的绑定和本机 C API 之间进行转换),通过我使用的 gtk-rs 绑定希望有一个不可编辑TextView的内容在我的代码中不断更新。我希望用户能够将其调整TextView为任意大小,之后我的代码将相应地重新计算其内容。不幸的是,GTK 阻止了任何会隐藏TextView. 我不能使用 aScrolledWindow因为我不想要可见的滚动条,并且禁用 a 上的滚动条会ScrolledWindow阻止我想要的调整大小行为。我也试过打电话set_size_request在每次文本更改后将大小设置为 1, 1 和 0, 0,但这根本不会改变行为 - 用户仍然无法正确调整大小TextView(通过调整窗口大小)。

如何启用我想要的调整大小行为?

标签: resizegtkgtk3window-resize

解决方案


可能这是不可能的。如果用户因为您不想要滚动条而永远看不到视口之外的文本,那么将文本视图的大小调整得更小有什么意义?这似乎会混淆用户对此类组件通常如何工作的期望。

也许一种方法是您选择一定数量的行来显示,使其成为视口的大小,然后删除滚动到视口之外的文本视图的旧内容?


推荐阅读