如何创建正确的只读PyGTK文本条目?

如何创建正确的只读PyGTK文本条目?,gtk,pygtk,Gtk,Pygtk,我正在尝试制作一个小部件,它包含一个简短的文本输出,用户应该能够复制,但不能更改。这就是我想到的: entry = gtk.Entry() entry.set_property("editable", False) entry.unset_flags(gtk.CAN_FOCUS) 它可以工作,但是条目看起来仍然是可编辑的,从用户的角度来看,这看起来很糟糕。 我尝试了entry.set\u sensitive(False),但这既防止了复制,又使它看起来完全被禁用 我想知道如何创建一个正确的只读

我正在尝试制作一个小部件,它包含一个简短的文本输出,用户应该能够复制,但不能更改。这就是我想到的:

entry = gtk.Entry()
entry.set_property("editable", False)
entry.unset_flags(gtk.CAN_FOCUS)
它可以工作,但是条目看起来仍然是可编辑的,从用户的角度来看,这看起来很糟糕。 我尝试了
entry.set\u sensitive(False)
,但这既防止了复制,又使它看起来完全被禁用

我想知道如何创建一个正确的只读文本条目,它是灰色的,但仍然处于活动状态

编辑:我正在谈论的图像,虽然不是GTK(我在GNOME环境中工作)


编辑2:看起来GTK没有正确的方法,如果有人能确认这一点,我将标记问题已解决。

我通常关闭斜切框架,使其看起来更像一个标签,但仍然是可选择的

(在图中,等号右边有一个方框。这里很难看到,但在我的程序中总是有文本,所以很清楚。)


我在Glade中这样做,但方法是。

要使其变为灰色,请尝试
输入。

您可以使用可选择且处于换行模式的
标签(如果文本不止一行)


谢谢你的回复。我可能会用它,但这不是我要找的解决方案。@spektre-所以你考虑的更多的是背景颜色而不是浮雕风格?你知道,我肯定我以前也做过类似的事情……确切地说,我在原始帖子中链接了一张图片,解释了我在说什么。这也是一个解决办法,但它不尊重颜色主题。如果用户有深色背景和浅色文本的颜色主题,这看起来会比未修改的文本条目更糟糕。您可以使用获取用户的主题颜色。还可以设置
标签。如果您不希望光标可见,请设置\u can_focus(False)
。我将这样做,并将标签包装在gtk.Frame中。这就是我想要的结果。谢谢。如果我需要使用另一个敏感条目更改不敏感条目的内容,就像使用
entry2.set\u buffer(entry1.get\u buffer)
。。。这不适用于标签,是吗@ophidion不,标签是不可编辑的,所以缓冲区是没有意义的。如果您想立即以编程方式更改它们,请定义一个函数来执行此操作,或者重写
set_label
方法……如果您在此处没有获得任何信息,您可以尝试在PyGTK列表上发布。如果你从他们那里得到答案,如果你喜欢,你可以在这里发布答案:)
label = gtk.Label('multi line text')
label.set_selectable(True)
label.set_line_wrap_mode(True)