Influenced by TooMuchGuiCode and similar topics, I've concluded that cross-language (application languages) OOP frameworks/tool-kits is tough to do well because of the different ways OOP languages handle inheritance, polymorphism, and typing. One would have to target the lowest-common-denominator (if it exists) if they want to make something that would fit most OO languages (and even non-OO languages). The "solution" is to make such frameworks/kits database-like: relational or navigational. I have to declare this a case of GreencoddsTenthRuleOfProgramming.
One of the reasons that cross-language GUI kits have been hard to come by is because everybody tries to make their attempt be heavily OOP, and in order to do that without making an ugly monster one has to target a specific application language. Database-like cross-language interfaces have proven themselves somewhat in the relative success of SQL to share info between languages and app. (Yes, SQL could use some modernization, but it's good enough right now.)
(I also apologize if I already created a topic like this. It sounds vaguely familiar, but I couldn't find any old ones.)
See also: CrossToolTypeAndObjectSharing (Merge with? Nah, too big already)
CategoryInterface, CategoryAbstraction, CategoryReuse. CategoryObjectOrientation, CategoryInfoPackaging