【问题标题】:tk entry background color change in readonly mode只读模式下的 tk 条目背景颜色更改
【发布时间】:2017-09-04 11:58:22
【问题描述】:

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

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

不确定我的想法是否正确,所以请任何 cmets ???

【问题讨论】:

  • 我在这里收集了很多信息:changing widget colors,但我没有添加关于旧小部件的信息。我不知道你的版本是否允许使用 ttk 小部件。

标签: tcl tk gtkentry


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 2015-11-01
    • 2020-01-09
    • 2016-06-03
    • 2012-03-10
    • 1970-01-01
    相关资源
    最近更新 更多