Created
March 31, 2023 00:28
-
-
Save angstyloop/a5d9863826d3cd739ca202cb6bcaa3d2 to your computer and use it in GitHub Desktop.
Example of putting a widget ( specifically a GtkLabel ) in a GtkScrolledWindow.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* scrolledwindow.c | |
* | |
* Example of putting a GtkLabel in a GtkScrolledWindow. | |
* | |
* COMPILE | |
* | |
* gcc `pkg-config --cflags gtk4` -o scrolledwindow scrolledwindow.c `pkg-config --libs gtk4` | |
* | |
* RUN | |
* | |
* ./scrolledwindow | |
*/ | |
#include <gtk/gtk.h> | |
#if GLIB_CHECK_VERSION(2, 74, 0) | |
#define APP_FLAGS G_APPLICATION_DEFAULT_FLAGS | |
#else | |
#define APP_FLAGS G_APPLICATION_FLAGS_NONE | |
#endif | |
static void | |
activate( GtkApplication *app, gpointer user_data ) | |
{ | |
GtkWidget *window, *vbox, *scrolled_window, *label; | |
window = gtk_application_window_new( app ); | |
gtk_window_set_default_size (GTK_WINDOW (window), 100, 50); | |
vbox = gtk_box_new( GTK_ORIENTATION_VERTICAL, 10 ); | |
scrolled_window = gtk_scrolled_window_new(); | |
label = gtk_label_new("<0.o>"); | |
gtk_scrolled_window_set_child( GTK_SCROLLED_WINDOW( scrolled_window ), | |
label ); | |
gtk_box_append( GTK_BOX( vbox ), scrolled_window ); | |
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_window ), | |
GTK_POLICY_NEVER, | |
GTK_POLICY_ALWAYS ); | |
gtk_window_set_child( GTK_WINDOW( window ), vbox ); | |
gtk_widget_show( window ); | |
} | |
int | |
main( int argc, char **argv ) | |
{ | |
GtkApplication *app; | |
int status; | |
puts("Hover to the right of the label to see the scrollbar."); | |
app = gtk_application_new( "org.gtk.example", APP_FLAGS ); | |
g_signal_connect( app, "activate", G_CALLBACK( activate ), NULL ); | |
status = g_application_run( G_APPLICATION( app ), argc, argv ); | |
g_object_unref( app ); | |
return status; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment