Looking at GUI / widget libraries (GTK+, Qt, FLTK, wxWidgets, etc). The libraries I listed are mostly C++ and GTK+ is written in C, but they built an OO system (GObject) within C. I wonder, is this like the ultimate use-case for OOP? Does the hierarchy of functionality for UI elements, representing on-screen instances as objects, and communication patterns in traditional desktop software just lead, inevitably to object orientation?
(FWIW, I think the answer is no)