The Viewport widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities.
Use GtkViewport to scroll child widgets such as Grid, Box , and so on.
If a widget has native scrolling abilities, such as TextView, TreeView or IconView, it can be added to a ScrolledWindow with add. If a widget does not, you must first add the widget to a Viewport, then add the viewport to the scrolled window. add does this automatically if a child that does not implement Scrollable is added to a ScrolledWindow, so you can ignore the presence of the viewport.
The GtkViewport will start scrolling content only if allocated less than the child widget’s minimum size in a given orientation.
GtkViewport has a single CSS node with name viewport.