czosnek17 Temat założony przez niniejszego użytkownika  | 
» 2012-08-29 19:25:57 | No to czemu nie umieścisz odczytania zawartości pola tekstowego w procedurze obsługi eventu clicked? |  
 Dobry pomysł, ale jak to zrobić? Zrobiłem takie coś, ale efektem jest "wystąpił problem z aplikacją...". Spodziwałem się, że to nie zadziała :( g_signal_connect( G_OBJECT( sss->wprowadz ), "clicked", G_CALLBACK( sss->wczyt = gtk_entry_get_text( GTK_ENTRY( sss->poletxt ) ) ), NULL );  | 
 | 
m4tx  | 
» 2012-08-29 19:27:49 G_CALLBACK to wskaźnik na funkcję. Inaczej mówiąc - jak nie wsadzisz tego:  sss->wczyt = gtk_entry_get_text( GTK_ENTRY( sss->poletxt ) )  do oddzielnej funkcji, to po prostu nie zadziała.  | 
 | 
xevuel  | 
» 2012-08-29 19:29:44 void pobierz( GtkWidget * przycisk, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;     gtk_widget_hide( sss->graj );     const gchar * zzz = "";          const gchar * nic = "nic";     const gchar * zle = "zle";     const gchar * tr = "true";     const gchar * fa = "false";                    const gchar * tab[ 10 ] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };     sss->wczyt = gtk_entry_get_text( GTK_ENTRY( sss->poletxt ) );          if( !g_strcmp0( sss->wczyt, tab[ 0 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 1 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 2 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 3 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 4 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 5 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 6 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 7 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 8 ] ) ||     !g_strcmp0( sss->wczyt, tab[ 9 ] ) ||     !g_strcmp0( sss->wczyt, zzz ) )     {                           if( !g_strcmp0( sss->wczyt, tab[ 0 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 0 ] );             sss->liczbazm = 1;         }                  if( !g_strcmp0( sss->wczyt, tab[ 1 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 1 ] );             sss->liczbazm = 2;         }                  if( !g_strcmp0( sss->wczyt, tab[ 2 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 2 ] );             sss->liczbazm = 3;         }                  if( !g_strcmp0( sss->wczyt, tab[ 3 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 3 ] );             sss->liczbazm = 4;         }                  if( !g_strcmp0( sss->wczyt, tab[ 4 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 4 ] );             sss->liczbazm = 5;         }                  if( !g_strcmp0( sss->wczyt, tab[ 5 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 5 ] );             sss->liczbazm = 6;         }                  if( !g_strcmp0( sss->wczyt, tab[ 6 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 6 ] );             sss->liczbazm = 7;         }                  if( !g_strcmp0( sss->wczyt, tab[ 7 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 7 ] );             sss->liczbazm = 8;         }                  if( !g_strcmp0( sss->wczyt, tab[ 8 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 8 ] );             sss->liczbazm = 9;         }                  if( !g_strcmp0( sss->wczyt, tab[ 9 ] ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), sss->tab[ 9 ] );             sss->liczbazm = 10;         }                  sss->sprawdzdane = true;                  if( !g_strcmp0( sss->wczyt, zzz ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), nic );             sss->sprawdzdane = false;         }              }      else     {         gtk_label_set_text( GTK_LABEL( sss->etykieta ), zle );         sss->sprawdzdane = false;     }          gtk_entry_set_text( GTK_ENTRY( sss->poletxt ), zzz );          if( sss->sprawdzdane == true )          gtk_label_set_text( GTK_LABEL( sss->etykieta ), tr );     else          gtk_label_set_text( GTK_LABEL( sss->etykieta ), fa );                }
  void gtrudny( GtkWidget * przycisk, gpointer dane ) {          struct struktura * sss;     sss =( struct struktura * ) dane;     const gchar * tr = "true";     const gchar * fa = "false";          gtk_widget_hide( sss->graj );     const gchar * zm[ 3 ] = { "1", "2", "3" };     g_signal_connect( G_OBJECT( sss->wprowadz ), "clicked", G_CALLBACK( pobierz ), sss ); }
  I po sprawie.  | 
 | 
czosnek17 Temat założony przez niniejszego użytkownika  | 
» 2012-08-29 19:35:58 To niestety nie daje efektu.
 
 
   | 
 | 
xevuel  | 
» 2012-08-29 19:44:28 Czyli? co nie działa?  | 
 | 
czosnek17 Temat założony przez niniejszego użytkownika  | 
» 2012-08-29 19:48:50 if( sss->sprawdzdane == true )      gtk_label_set_text( GTK_LABEL( sss->etykieta ), tr ); else      gtk_label_set_text( GTK_LABEL( sss->etykieta ), fa );
 
  To nie wyświetla tekstu. Chyba, że ja tu czegoś nie ogarniam..   | 
 | 
m4tx  | 
» 2012-08-29 19:52:36 A jesteś pewien, że się w ogóle wykonuje? :)  | 
 | 
czosnek17 Temat założony przez niniejszego użytkownika  | 
» 2012-08-29 19:54:50 | A jesteś pewien, że się w ogóle wykonuje? :) |  
 No właśnie się w ogóle nie wykonuje i w tym  problem :(  | 
 | 
| 1 « 2 »  3 4 |