PyGtk3:获取当前的Entry文本颜色

问题描述

我目前在PyGtk3程序中具有以下内容,如果输入不可接受,它将Entry文本的颜色更改为红色:

...
self.entryIpAddress = Gtk.Entry()
self.entryIpAddress.connect('changed',self.entryIpAddress_changed)
...

def entryIpAddress_changed(self,widget):
   if not valid_ip_address(self.entryIpAddress.get_text()):
      self.entryIpAddress.override_color(Gtk.StateFlags.norMAL,Gdk.RGBA(1.0,0.0,1.0))

这可行,但是我想将文本恢复为原始颜色。在开始更改条目之前,是否可以使用一种方法找出条目的文本颜色

解决方法

经过更多搜索后,我发现了如何做:

style = self.lblIpAddress.get_style_context()
self.entryIpDefaultColor = style.get_color(Gtk.StateType.NORMAL)