アプリケーションにのリストがありGtk.Entry()
、そのうちのいくつかのテキストの色を変更したいと考えています。
私は次のことを試しました:
#!/usr/bin/python3
# Filename: mywindow.py
from gi.repository import Gtk
from gi.repository import Gdk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="My window")
self.mainGrid = Gtk.Grid()
self.add(self.mainGrid)
self.myOkEntry = Gtk.Entry()
self.myOkEntry.set_text("This is OK (green)")
self.myOkEntry.override_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(0.0, 1.0, 0.0, 0.0))
self.mainGrid.add(self.myOkEntry)
mainWin = MyWindow()
mainWin.connect("delete-event", Gtk.main_quit)
mainWin.show_all()
Gtk.main()
しかし、その後、テキストは見えなくなりました。Gdk.RGBA に 0.0 から 1.0 までのさまざまな値を試してみましたが、0 から 65000 までは同じでした。別のテスト:
print(Gdk.color_parse("green"))
版画 :
<Gdk.Color(red=0, green=65535, blue=0)>
だから私は試しました:
print(Gdk.RGBA(Gdk.color_parse("green")))
しかし :
File "/usr/lib/python3/dist-packages/gi/overrides/Gdk.py", line 55, in __init__
self.red = red
TypeError: argument 2: Must be number, not Color
私は少し混乱しています。私が使用するドキュメントは主に次のとおりです。
https://python-gtk-3-tutorial.readthedocs.org/en/latest/
CSS スタイリングに関するドキュメントをいくつか見つけました。次のように使用できますか。
GtkEntry {
color: #000000
}
GtkEntry#ok {
color: #00cc00
}
GtkEntry#error {
color: #cc0000
}
たとえばHTMLのように?このドキュメントは、エントリの色に関する以前の質問でリンクされていましたPython3/Gtk3
さて、私の質問は次のとおりです:他の色を変更せずに、1つの Gtk.Entry() のテキストの色を変更するにはどうすればよいですか?