如何在 Matlab GUI 中禁用列表框水平滚动

How to disable listbox horizontal scrolling in Matlab GUI

当字符串或句子变得太长时,Matlab GUIDE 列表框组件的水平滚动被激活。如何禁用此功能并允许长字符串或句子在下一行继续?

我误解了问题,所以我的回答不正确(但被接受了)。

你想要的可以实现,但没有记录。查看 Undocumented features,了解更多信息。

来自link:

换行

By default, line-wrapping is turned on, effectively disabling horizontal scrolling (which is why Matlab set the HorizontalScrollBarPolicy to HORIZONTAL_SCROLLBAR_NEVER. However, in some cases it may be more useful to turn line-wrapping off and horizontal scrolling on using the TextArea’s setWrapping() method. Here’s a usage example:

jViewPort = jScrollPane.getViewport; jEditbox =
jViewPort.getComponent(0); jEditbox.setWrapping(false);  % do *NOT*
use set(...)!!! newPolicy =
jScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;
set(jScrollPane,'HorizontalScrollBarPolicy',newPolicy);

此外,检查此 link:this link

如果你想让它看起来像在单独的行上,但让 Matlab 像在一行上一样解析它,那么你将不得不使用另一个编辑器。我认为没有任何支持此功能的内置语法突出显示的编辑器,因此您最好的选择可能是带有固定大小字体(Courier New 或其他)的 MS Word。在我看来,这是一个可怕的想法,但这是可能的。

"correct" 方法是 use ... 创建多行字符串/赋值等:

示例:

mystring = ['Accelerating the pace of ' ... 
        'engineering and science'];

或方程式:

s = 1 - 1/2 + 1/3 - 1/4 + 1/5 ...
      - 1/6 + 1/7 - 1/8 + 1/9;