Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[GTK+ 2] Ustawianie, który widget ma być na wierzchu drugiego

Ostatnio zmodyfikowano 2014-03-17 20:07
Autor Wiadomość
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-03-14 20:49:56
Mam edytor mapy kafelkowej z eventboxów i chcę żeby użytkownik miał możliwość ustawienia przycisku z numerem na kaflu (ustawienie pozycji graczy).
Gościu z tego linku coś pisał o eventboxach, sprawdzę to.
P-106368
MrPoxipol
» 2014-03-14 21:09:45
Nie rób edytora na eventboxach. Użyj cairo do rysowania, albo jakiejś innej biblioteki graficznej, bo potrafią niezłe jaja wychodzić ;p (edytor do Kulkobana był pierwotnie na eventboxach).
P-106371
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-03-16 17:42:44
Rzeczywiście, można zmieniać kolejność rysowania eventboxów (gtk_fixed_put)
C/C++
#include <gtk/gtk.h>

int main( int argc, char * argv[], char * env[] )
{
    gtk_init( & argc, & argv );
    GtkWidget * okno;
    GtkWidget * kontener;
    okno = gtk_window_new( GTK_WINDOW_TOPLEVEL );
    gtk_window_set_default_size( GTK_WINDOW( okno ), 300, 300 );
    gtk_window_set_title( GTK_WINDOW( okno ), "" );
    kontener = gtk_fixed_new();
    gtk_container_add( GTK_CONTAINER( okno ), kontener );
    ////
   
    GtkWidget * eventbox_a, * eventbox_b;
    GtkWidget * image_a, * image_b;
    eventbox_a = gtk_event_box_new();
    image_a = gtk_image_new_from_file( "a.png" );
    eventbox_b = gtk_event_box_new();
    image_b = gtk_image_new_from_file( "b.png" );
   
    gtk_container_add( GTK_CONTAINER( eventbox_a ), image_a );
    gtk_container_add( GTK_CONTAINER( eventbox_b ), image_b );
   
    gtk_fixed_put( GTK_FIXED( kontener ), eventbox_a, 100, 100 );
    gtk_fixed_put( GTK_FIXED( kontener ), eventbox_b, 128, 115 );
   
    ////
    gtk_widget_show_all( okno );
    g_signal_connect( G_OBJECT( okno ), "destroy", G_CALLBACK( gtk_main_quit ), NULL );
    gtk_main();
    return 0;
}
Nie rób edytora na eventboxach. Użyj cairo do rysowania, albo jakiejś innej biblioteki graficznej, bo potrafią niezłe jaja wychodzić ;p (edytor do Kulkobana był pierwotnie na eventboxach).
A co się działo? U mnie na razie wszystko działa dobrze, to prosty edytor więc zostanę przy eventboxach.
P-106569
MrPoxipol
» 2014-03-16 19:50:06
Możesz mieć kłopoty przy eventach myszy (nie pojedynczym tylko przeciąganiu), ale to też da się zrobić, choć jest imo mało wygodnie.
P-106577
m4tx
» 2014-03-16 21:20:18
Co do nakładania widżetów - how about GtkOverlay? (nie używałem, po prostu wiem że takie coś istnieje i może rozwiązać problem)
P-106591
MrPoxipol
» 2014-03-17 19:59:44
Ano istnieje, doszła bodajże w GTK 3. Tylko nie wiadomo, której wersji używa autor tematu.
P-106656
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-03-17 20:07:30
Używam 2.cośtam, jest w tytule tematu :P
P-106659
1 « 2 »
Poprzednia strona Strona 2 z 2