3

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

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

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

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

不知道我的想法是否正确,所以请任何意见???

4

1 回答 1

8

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

于 2015-03-10T21:05:55.717 回答