Je viens de GTK

GTK 4 raisonne déjà en boîtes qui grandissent et s'alignent, donc la mise en page vous semblera familière. Ce qui change, c'est la propriété des objets : pas de widget à g_object_unref, pas de propriété à lier, pas de fichier CSS — le thème est une valeur dans le programme, et une seule valeur en vigueur.

GTKkeal-view
gtk_label_new("Hi")label("Salut")
g_signal_connect(btn, "clicked", …)button("Go", { -> … })
GtkBox, orientation verticalcolumn([…])
gtk_widget_set_hexpand.grows()
GtkDrawingArea + draw funccustom({ p -> … })
GtkCssProvider, style.cssuseTheme(darkTheme())
GtkPopover / GtkPopoverMenuopenMenu(x, y, […])

Ce qui va vous surprendre

Le thème est une valeur, pas une cascade

Le CSS de GTK est puissant, et c'est aussi un second langage avec ses sélecteurs et sa spécificité. Ici il y a un Theme : une rampe de surfaces, un accent et trois teintes d'état, lus par tous les widgets, y compris ceux que vous écrivez. En changer est un seul appel, et il ne peut pas s'appliquer à moitié.

Il n'y a pas de boucle principale où s'intégrer

runApp possède la boucle, et entre deux images elle bloque dans kvWait. Il n'y a pas de GMainContext auquel attacher une source. Pour réveiller l'interface depuis ailleurs, on écrit une Cell ; pour la réveiller sur une horloge, on demande la prochaine image dans tant de millisecondes.

Vous perdez l'accessibilité de la plateforme

GTK remet à ATK un véritable arbre de véritables widgets, et un lecteur d'écran le lit. keal-view dessine des pixels ; il n'y a pas encore d'arbre d'accessibilité derrière. C'est, à elle seule, la plus grosse chose que GTK vous donne et que ceci ne donne pas.

← Toutes les boîtes à outils