tk entry 背景颜色在只读模式下变化

tk entry background color change in readonly mode

您好,我有一个要求,我需要创建 table 并且单元格是只读的。但与只读模式一起,单元格需要有彩色背景。现在有了给定的选项,我尝试做类似下面的事情但没有运气。由于我正在学习 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;

因此,如果我使用只读状态,那么它会使单元格变灰,背景颜色会隐藏或发生其他情况,但是如果我删除只读状态,背景颜色会显示,但单元格是 editable.

我想知道是否有办法获得所需的单元格背景颜色以及只读状态。我知道的不多,但我在想,如果我能以某种方式绑定 button-1 事件,如果用户点击,单元格将不会做任何事情。

this wiki 页面的 "Widget States" 部分,它确实说在禁用状态下不允许选择,但在只读状态下允许选择并使用不同的背景。但是没有说如果使用了不同的背景,那么怎么设置呢??还是仅仅意味着使用了不同的灰色阴影...

不确定我的想法是否正确,所以请发表评论???

entry 的手册页指定 -readonlybackground 选项将更改只读模式下条目小部件的背景颜色。