Bonjour, voilà je suis sur une interface graphique et j'ai des petits soucis. Bon pour commencer, j'ai écris ça pour pouvoir soit entrer le nom du fichier voulu (ou dossier), soit ouvrir Fileselect pour en choisir un... Sauf que le soucis c'est que je galère à stocker mes variables et à afficher dans mon entry le fichier une fois choisis avec le Fileselect...
Ensuite, mon second soucis est que je veux lancer un perl, où un R avec ces arguments une fois importés , et je ne sais pas trop comment m'y prendre... mon bouton de lancement ressemble à ça pour le moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 my $lab1 = $onglet1->Label ( -text => 'Choix du dossier "Read" :', -font => '{arial} 9 bold', ) ->pack(qw/-padx 10 -pady 10 /, -side=>'left'); $lab1->grid(-row => 0, -column => 1, ); my $entry1 = $onglet1->Entry(-text => my $file_se1 )->pack( qw/ -side left/ ); $entry1->grid(-row => 0, -column => 2, ); my$b1=$onglet1->Button ( -text => '...', -command => sub { my $start_dir = "."; my $Fsref = $fenetre_principale->FileSelect(-directory => $start_dir,-verify => [ '-e' ]); my $file = $Fsref->Show; $Fsref->configure( -command=>\&sous($file), -width => 25 ); sub sous { my $file = $_[0] || ''; print "Choix 1 = $file \n"; $file_se1=$file; } }, )->pack( qw/ -side left/ ); &bind_message($b1, "Cliquez pour choisir le dossier contenant les conditions en .fastq à lancer."); $b1->grid(-row => 0, -column => 3, );
Voilà, j'ai mis les print pour vérifier le fonctionnement, mais là je bloque ... Si quelqu'un pouvais me filer un coup de main ça serrai génial, c'est un projet que je suis censé finir ce week-end max.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 my$b5=$onglet1->Button ( -text => 'LANCER L\'ETAPE 1 !', #-command => [\&ma_fonction, $arg1, $arg2...],. -command => sub { #programme là ? print "test du lancement 1. \n"; print "doss 1 : $file_se1 \n"; print "doss 2 : $file_se2 \n"; print "doss 3 : $file_se3 \n"; print "doss 4 : $file_se4 \n"; }, )->pack( qw/ -side left/ ); &bind_message($b5, "Cliquez pour lancer le match."); $b5->grid(-row => 4, -column => 3, );
Partager