嗨,我有一个要求,我需要创建表格,单元格将是只读的。但除了只读模式外,单元格还需要有彩色背景。现在有了给定的选项,我尝试做下面这样的事情,但没有运气。由于我正在学习 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 事件,如果用户单击,单元格将不会执行任何操作。
在这个维基页面的"小部件状态"部分,它确实说在禁用状态下不允许选择,但在只读状态下允许选择并使用不同的背景。但它并没有说如果使用不同的背景,那么如何设置它??还是只是意味着使用了不同的灰色阴影......
不确定我的想法是否正确,所以请发表任何评论???
条目的手册页指定-readonlybackground
选项将在只读模式下更改条目构件的背景颜色。