GDK is much faster for that. You can stick a preview into just about anything. In a vbox, an hbox, a table, a button, etc. But they look their best in tight frames around them. Previews by themselves do not have borders and look flat without them.
Tight frames provide the necessary borders.
First, we will deal exclusively with the GTK aspect of previews and then we'll discuss how to fill them. That's my basic preview. Of course, you can pass the parent frame to this routine as a parameter. In many situations, however, the contents of the preview are changed continually by your application. One more important note that may one day save you a lot of time.