bonjour à tous,
Je développe une interface avec Perl/Tk. Je voudrais la commande pour mettre ma fenetre toplevel en plein écran.
Merci
bonjour à tous,
Je développe une interface avec Perl/Tk. Je voudrais la commande pour mettre ma fenetre toplevel en plein écran.
Merci
Qu'est ce que tu veux dire "en plein écran" ? S'il s'agit juste de maximiser la fenêtre, il suffit de jouer sur la géométrie de la fenêtre (quand tu la crée ou après) pour remplir tout l'écran (tu peux obtenir la taille de l'écran avec le Windows Manager je crois).
--
Jedaï
Salut
Pour tout ce qui concerne la géométrie des Widgets, as-tu regardé sur CPAN ?
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Par plein écran, je veux dire que ma fenêtre occupe tout l'espace de l'écran (sans avoir à cliquer sur l'icone en haut à gauche à coté de la croix) .
Eh oui, j'ai qd même pas mal farfouiller, mais j'ai rien vu (idem sur les forums et autres faqs) mais j'ai pu le louper (c pourquoi j'ai posté un message).
De plus, mon interface doit fonctionner en priorité sur Linux (et unix).
voili voilou
merci d'avance
Sous Linux, cela ne devrait pas poser de problème ... En revanche, pour windows ce serait un peu plus "tricky".
Voir ici pour plus d'information (en anglais) ...
Désolé, je crois que, malgré mes efforts, je me suis encore mal exprimé. Je ne veux pas un full screen au sens d'un avi player ou on ne voie plus la barre des taches mais juste que ma fenetre soit la plus grande possible (ie agrandir au max ou maximize) : c tt bete mais je ne connais pas la commande (si elle existe). je suis encore revenu sur CPAN mais j ai rien trouvé.
Salut
N'étant pas un pro de Tk, je te propose néanmoins le code suivant :
L'idée est de passer par une première fenêtre qui va nous permettre de récupérer la résolution de l'écran. Ceci fait, on peut détruire cette fenêtre et en créer une autre avec les bonnes dimensions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #!/usr/bin/perl use Tk; my $fen = MainWindow->new; $width = $fen->screenwidth; $height = $fen->screenheight; $fen->destroy(); $fen=MainWindow->new(-height=>$height, -width=>$width, -title=>"Hello"); MainLoop;
Toutefois, j'ai conscience qu'il doit exister des méthodes de redimensionnement, mais hélas, je ne les connais pas pour le moment.
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Il suffit d'utiliser configure() :
configure() est la façon standard d'accéder aux paramètres des widgets après leur création (s'ils sont déjà affichés, il faut appeler update() après, mais ici c'est inutile).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #! /usr/bin/perl use strict; use warnings; use Tk; my $fen = MainWindow->new; my $width = $fen->screenwidth; my $height = $fen->screenheight; $fen->configure(-height=>$height, -width=>$width, -title=>"Hello"); MainLoop;
--
Jedaï
Ok, je savais qu'il devait exister une telle méthode. Merci Jedaï, grâce à toi, je dormirais moins idiot ce soir !![]()
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Merci encore une fois mais j ai encore une fois un pb. J'ai testé la dernière méthode et telle quelle, elle marche mais dans mon prog ca marche plus deu tout. De plus je l'ai testé dans un prog hello world. Et ma conclusion est la suivante: ca marche si le fenêtre ne fait rien. Dans mon hello world, je ne fait que rajouter un bouton et ca na marche plus. Si vous pouvez me dire pourquoi, je vous en serai gré.
dieggg
Peux-tu nous montrer ton code dans ce cas ?
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
Peut-être que lire la documentation ou les cours et tutoriels pour apprendre Perl serait une bonne idée...
Les gestionnaires d'espaces se plient en quatre pour que la disposition de la fenêtre soit agréable à l'oeil, comme te l'aurait appris la documentation de pack()...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #! /usr/bin/perl use strict; use warnings; use Tk; my $fen = MainWindow->new; my $width = $fen->screenwidth; my $height = $fen->screenheight; $fen->configure(-height=>$height, -width=>$width, -title=>"Hello"); $fen->packPropagate( 0 ); $fen->Button( -text => "Hello" )->pack( ); MainLoop;
--
Jedaï
Merci à vous Jedaï & GLDavid.
Grâce a vous, mon interface se positionne direct en grand (je n'ose plus dire plein écran).
Pour la petite histoire, si je n'ai pas montré mon code, c 'est juste que j'utilise deux laptops (un sur linux pour coder) et l'autre sur winlose pour le net. (ca c decidé comme ca et je nepeux guère changer cela). Donc le code, je le tape ou le transfert via une cle usb. Sinon, je suis débutant en perl donc je recherche plus ou moins tout le temps des trucs sur les forums les cours (dont les inevitables books d'Oreilly) les docs les faqs mais des choses m'échappent... et j'ai pas vraiment le temps pour les details (meme si les details font une grosse diff pour l'utilisateur).
Quoi qu'il en soit Merci8)
![]()
![]()
![]()
![]()
Partager