在只读模式下tk条目背景颜色更改

时间:2015-03-10 20:46:11

标签: tcl tk gtkentry

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

因此,如果我使用状态readonly,那么它会使单元格变灰并且背景颜色会被隐藏或者其他东西,但是如果我只读取状态,则会显示背景颜色,但单元格是可编辑的。

我想知道是否有办法获得所需的细胞背景颜色以及只读状态。我不太了解但是我想如果我能以某种方式绑定button-1事件,如果用户点击,则单元格将不会执行任何操作。

在“窗口小部件状态”部分的this维基页面中,它确实表示在禁用状态下不允许选择,但在只读时允许选择并使用不同的背景。但它并没有说如果使用不同的背景,那么如何设置它?或者它只是意味着使用了不同的灰色阴影......

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

1 个答案:

答案 0 :(得分:4)

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