Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Interfaces Graphiques
Interfaces Graphiques Forum d'entraide pour les interfaces graphiques en Perl (TK, GTK, Tk-Zinc, 2D et 3D avec OpenGPL, ....). Avant de poster, veuillez consulter la FAQ Perl/Tk , les cours Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 13h15   #1
onime
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 0
Points : 0
Par défaut Gtk2 SimpleList selection

Bonjour j'ai un problème avec les listes, je voudrais que quand j'appuie sur la touche espace ça fasse le même effet que si on appuie sur la touche flèche du bas. C'est à dire que l'on sélectionne l'élément suivant. J'ai essayé le code suivant mais quand on appuie sur la touche espace la ligne devient bien bleu mais elle passe d’abord par le premier éléments.

J'espère être clair.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/perl -w
 
use Gtk2 '-init';
use Gtk2::SimpleList;
 
my $window = Gtk2::Window->new('toplevel');
$window->resize(320,120);     
$window->signal_connect('delete-event',sub{Gtk2->main_quit();});      
 
my $liste = Gtk2::SimpleList->new(type=>"text");
$liste->signal_connect('cursor_changed',\&click);
$liste->signal_connect('key_release_event',\&deplace);
 
fill_liste();
$row=0;
$liste->select($row);
 
$window->add($liste);
$window->show_all();
Gtk2->main();
 
sub deplace
  {
    shift; #La variable GtkWindow
    my $key=shift;
    if ($key->keyval == 32) # La touche espace
      {
	$row++;
	$liste->select($row);
      } 
  }
 
sub click
  {
    my $select = $liste->get_selection();
    my $row_cur = $select->get_selected_rows();
 
    if ( defined $row_cur)
      {
	$row=$row_cur->to_string;
	$liste->select($row);
      }
  }
 
sub fill_liste
  {
    my @tab_valeur = qw(val1 val2 val3 val4 val5 val6 val7);
    $liste->set_data_array(\@tab_valeur); 
  }
Edit : Mince trompé de section
onime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h02.


 
 
 
 
Partenaires

Hébergement Web