gpt4 book ai didi

matlab - 在 matlab 中更改 uitable 的大小

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:46 24 4
gpt4 key购买 nike

我在 matlab GUI 中使用 uitable。在此 GUI 中,每次处理后 uitable 的行和列因此我无法使用 uitable 的 Position 属性。当我绘制表格时,一些区域仍然是空白的,它的位置也总是在 GUI 图的左下角。图片如下:

enter image description here

我想从表格中删除空白区域,即表格会根据行和列自动调整自身大小。

我该怎么做?

最佳答案

A possible way-around to handle this issue:合适的行高和列宽与表格的尺寸无关,因为表格可以包含任意数量的行/列。这就是表格有滚动条的原因。因此,调整表格大小只会影响所谓的滚动条视口(viewport),不会影响任何内部方面,例如行高或列宽。您可以捕获调整大小回调并根据新表格大小以编程方式修改行高和列宽。但是,我建议不要这样做,因为大多数用户都习惯了当前的行为,不仅在 Matlab 中如此,在大多数基于 GUI 的应用程序中也是如此。

另一种可能的解决方法是,如果您使用“FontUnits”、“Normalized”标准化您的单位,它可能会对您有所帮助。由于字体大小会改变,行宽和列宽也会改变,但是当字体不需要扩展列宽时,列将停止调整大小。

下面的代码将达到目的。

clear all;
clc;

%% Create a random dataset with any number of rows and columns
data = rand(10, 15);

%% Create a uitable
t = uitable('Data',data);

%% Set the position and size of UITable
% Position(1) = Distance from the inner left edge of the figure
% Position(2) = Distance from the inner bottom edge of the figure
% Position(3) = Distance between the right and left edges of rectangle containing the uitable
% Position(4) = Distance between the top and bottom edges of rectangle containing the uitable
% Extent(1) = Always zero
% Extent(2) = Always zero
% Extent(3) = Width of uitable
% Extent(4) = Height of uitable
t.Position = [350 350 t.Extent(3) t.Extent(4)];

%%End

关于matlab - 在 matlab 中更改 uitable 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43223004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com