'PyGTK entry.set_placeholder_text doesnt work - missing tex

I am attaching a piece of my code in which I try to display the text in the Entry field with predefined text. I use entry.set_placeholder_text for this, but unfortunately the text does not appear. Is there an effective solution?

# -*- coding: utf-8 -*-
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

class MyWindow(Gtk.Window):
    def __init__(self):
        super(MyWindow, self).__init__()
        entry = Gtk.Entry()
        entry.set_placeholder_text("Any text")
        self.add(entry)

win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()


Solution 1:[1]

The placeholder text is only visible when the entry is empty and unfocused. Adding another widget that can get the focus will make the text appear.

Example:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

class MyWindow(Gtk.Window):
    def __init__(self):
        super(MyWindow, self).__init__()
        entry = Gtk.Entry()
        entry.set_placeholder_text("Any text")
        box = Gtk.HBox()
        self.add(box)
        button = Gtk.Button()
        box.pack_start(button, False, False, 0)
        box.pack_start(entry, True, True, 0)

win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 bohrax