【问题标题】:colored puts into text widget彩色放入文本小部件
【发布时间】:2012-11-30 21:42:31
【问题描述】:

当我想在终端中输出彩色字符串(红色)时,我使用:

puts "\033\[00;31m Test String \033\[0m"

但是当我在文本小部件中打印此字符串时,我得到:

[00;31m Test String [0m

如何在文本小部件中打印相同的彩色字符串?

【问题讨论】:

  • tk 小部件支持的功能比终端中可用的功能多得多,并且使用不同的“语言”来表达它。可能的解决方法? wiki.tcl.tk/1143
  • @TokenMacGuy 您应该建议将该页面作为解决方案;它看起来是正确的。
  • @Donal Fellows:嗯,我希望在我提供解决方案之前,我们能更多地了解 Roman 试图解决的问题,显然他想看到颜色,但他为什么试图使用终端转义来显示它们?
  • @TokenMacGuy 我有 tcl 脚本以红色打印错误通知到终端。现在我正在尝试编写基于此脚本的 GUI 前端。所以我想继续在文本小部件中以相同颜色打印错误通知。

标签: tcl


【解决方案1】:

据我了解,问题是关于将格式应用于文本小部件的内容,这与 Tk 而不是转义序列有关。这可以通过标签来实现。这是创建文本小部件的代码,在其中放入两行并用红色突出显示第二行。

set t [text .t -height 10 -width 40]
pack $t
$t insert end "text1\n"
$t insert end "text2\n"
$t tag add my_red 2.0 2.end
$t tag configure my_red -foreground red

如果问题只是关于格式,我希望这会有所帮助。

PN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2015-08-23
    • 2011-09-29
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    相关资源
    最近更新 更多