Собственно, этим все сказано. Печатает все остальные печатные символы с клавиатуры, но не пробел. Если передаю пробел, handle_event
возвращает GDK_EVENT_PROPAGATE
.
Минимальный пример:
#include <gtkmm.h>
class Window : public Gtk::Window {
public:
Window(): Gtk::Window() {
this->entry.set_placeholder_text("Сюда печатать");
this->add(entry);
this->show_all_children();
}
bool on_key_press_event(GdkEventKey* event) {
if (event->keyval == GDK_KEY_Escape) {
Gtk::Main::quit();
}
return this->entry.handle_event(event) == GDK_EVENT_STOP;
}
Gtk::SearchEntry entry;
};
int main(int argc, char** argv) {
auto app = Gtk::Application::create(argc, argv, "org.primer.Primer");
auto window = Window();
window.show();
app->run(window);
}