[GTK 2.0] [C++]Ustawienie tła okna
Ostatnio zmodyfikowano 2013-11-04 21:15
enzoMatrix Temat założony przez niniejszego użytkownika |
[GTK 2.0] [C++]Ustawienie tła okna » 2013-11-04 01:30:46 Witam. Robię mały programik w GTK. Chcę żeby wyświetlał się w trybie pełnoekranowym i miał tapetę. dzięki temu, że będzie wyświetlany na pełnym ekrane rozmieszczenie przycisków i widgetów będzie zawsze takie samo. Nie umiałem się doszukać gdzie zrobić tapetę było coś na stronie anglojęzycznej ale niestety w Pytkonie napisane. Proszę o pomoc |
|
maly |
» 2013-11-04 11:02:27 |
|
enzoMatrix Temat założony przez niniejszego użytkownika |
» 2013-11-04 17:46:01 No właśnie to już przeglądałem niestety program miał jakieś błędy i nie chciało mi to zadziałać. Sory za źle założony temat |
|
maly |
» 2013-11-04 17:56:58 #include <gtk/gtk.h> #include <stdlib.h>
GtkWidget * SetupWindow( gchar * data, gboolean Transient ) { GdkPixmap * background; GdkPixbuf * pixbuf; GdkScreen * ourscreen; GdkColormap * colormap; GtkStyle * style; GdkColor fg; GdkColor bg; GError * error = NULL; GdkRectangle * rect; GtkWidget * window; pixbuf = gdk_pixbuf_new_from_file( "obrazek.png", & error ); if( error != NULL ) { if( error->domain == GDK_PIXBUF_ERROR ) { g_print( "Pixbuf Related Error:\n" ); } if( error->domain == G_FILE_ERROR ) { g_print( "File Error: Check file permissions and state:\n" ); } g_printerr( "%s\n", error[ 0 ].message ); exit( 1 ); } gdk_pixbuf_render_pixmap_and_mask( pixbuf, & background, NULL, 0 ); style = gtk_style_new(); style->bg_pixmap[ 0 ] = background; window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_window_set_title( GTK_WINDOW( window ), data ); gtk_window_set_modal( GTK_WINDOW( window ), TRUE ); gtk_window_set_default_size( GTK_WINDOW( window ), 640, 480 ); gtk_widget_set_style( GTK_WIDGET( window ), GTK_STYLE( style ) ); gtk_window_set_position( GTK_WINDOW( window ), GTK_WIN_POS_CENTER_ALWAYS ); gtk_container_set_border_width( GTK_CONTAINER( window ), 14 ); gtk_widget_show( window ); return( window ); } int main( int argc, char * argv[] ) { GtkWidget * win = NULL; gtk_init( & argc, & argv ); win = SetupWindow( "ala", false ); gtk_widget_realize( win ); gtk_window_fullscreen( GTK_WINDOW( win ) ); g_signal_connect( win, "destroy", gtk_main_quit, NULL ); gtk_widget_show_all( win ); gtk_main(); return 0; } |
|
enzoMatrix Temat założony przez niniejszego użytkownika |
» 2013-11-04 21:15:05 Super działa. Dzięki wielkie bo nie potrafilem sobie z tym poradzić. A jak można zrobić żeby obrazek był rozciągany na cały ekran? Bo mi powiela obrazek dalej
Poprawka:) Zrobiłem to w ten sposób, że wyskalowałem obrazek do wielkości ekranu. Wiem, że to trochę na dziko ale obrazek ma być wyświetlany tylko na 1 ekranie i w sumie tylko dla niego to robię. |
|
« 1 » |