您好,我有一个需求,需要创建一个具有只读属性的表格。但是,除了只读模式之外,这些单元格还需要具有有色背景。现在,在给定的选项下,我尝试了以下操作,但没有成功。由于我正在学习GUI设计,因此我不确定是否可以使用给定的命令来获得带有只读模式的有色背景:
package require Tk
set val1 "12";
set cols 5;
set rows 5;
set cell 0;
set mytable [table .tb -cols $cols -rows $rows];
set myentry [entry .e1 -textvariable val1 -state readonly -background red];
#set myentry [entry .e1 -textvariable val1 -background red];
set myentry1 [entry .e2 -textvariable val1 -state readonly -background yellow];
#set myentry1 [entry .e2 -textvariable val1 -background yellow];
$mytable window configure 0,1 -window $myentry;
$mytable window configure 3,0 -window $myentry1;
pack $mytable -fill both -expand true;
如果我使用只读状态,那么它会将单元格变成灰色并隐藏背景颜色之类的东西,但如果我去掉只读状态,背景颜色就会显示出来,但单元格是可以编辑的。我想知道是否有一种方法可以在保持只读状态的同时获得所需的单元格背景颜色。我不太了解,但是在想如果能以某种方式绑定按钮1事件,那么如果用户点击,该单元格就不会做任何操作。
在此链接中的“小部件状态”部分中提到,在禁用状态下不允许选择,但在只读状态下允许选择并使用不同的背景。但它没有说明如何设置不同的背景颜色?或者只是意味着使用不同的灰色阴影... 不确定我的想法是否正确,请问您有什么意见吗?