在 uitable 中更改字体颜色和背景颜色



我有一个显示一些数据的 uitable。当值大于 1 时,我希望数字采用红色粗体字体。

这段代码给了我正确的输出:

data(indx_red(:, n), n) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold;">', ...
data(indx_red(:, n), n), ...
'</span></html>');

但是,当数字大于 5 时,我希望文本为粗体红色,单元格的背景颜色为蓝色。所以我对下面的代码进行了调整,但是当我运行它时,表中单元格的背景颜色不会改变。

data(indx_red(:, n), n) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold; background-color:powderblue;">', ...
data(indx_red(:, n), n), ...
'</span></html>');

我也尝试过使用 HTML 表格。我已经与一些HTML在线编辑器检查了HTML部分,以确保输出正确。MATLAB 中是否有某些内容阻止您为表格中单元格的背景着色?

如何获得具有蓝色背景和粗体红色字体的单元格?

data(indx_blue(:, n), n) = strcat(...
' <html><table border=0 width=50><tr><td style=''text-align: right; background-color:#99FF99''><b><font color=''#009933''>', ...
data(indx_blue(:, n), n), ...
'</font></b></td></tr></table></html>');

似乎不支持命名颜色。但是,如果您将background-color作为十六进制值,它似乎有效:

data = uitable;
data.Data{1,1} = '<html><div style="color: #FF0000; font-weight: bold; background-color:#b0e0e6;">11</div></html>';

现在,这只会为该类型的小区域的背景着色。提供尺寸说明可以帮助设置整个单元格区域的样式:

data.Data{2,2} = '<html><div style="width:90px;height:12px;color: #FF0000; font-weight: bold; background-color:#b0e0e6;">11</div></html>'

最新更新