Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Perl/Tk: canvas et scrolling

2 réponses
Avatar
Patrick Texier
Bonjour,

J'utilise Perl 5.8.8 avec Tk

La documentaion de Tk:: est infernale quand on cherche un méthode ou une
propriété dont on ne connait pas le nom.

Dans un programme, j'ai un canevas qui fixe la taille de la fenêtre mais
je n'arrive pas à lui interdire de scroller avec les flèches quand il a
le focus. Je ne me souviens même plus de tout ce que j'ai tenté.

De ce programme, je tire l'exemple minimum suivant :

======= test.pl =============
#/usr/bin/perl -w

use strict;
use Tk;

my $win=MainWindow->new(
-title => 'test canevas'
);

$win->resizable(0, 0);

my $f = 3;
my $t = 35;
my $m = 11;

my $can = $win->Canvas(
-width => (2 * ($f + 1) * $t + 40 + $t + 20),
-height => (($m + 2) * $t + 20),
-background => 'grey'
);

$can->createOval(50, 50, 100, 100,
-fill => 'red',
);

$can->pack(
-expand => 0,
-fill => 'both'
);
MainLoop;
====================================================

Merci d'avance,
--
Patrick Texier

vim:syntax=mail:ai:ts=4:et:tw=72

2 réponses

Avatar
Jerome Quelin
Patrick Texier wrote:
Dans un programme, j'ai un canevas qui fixe la taille de la fenêtre mais
je n'arrive pas à lui interdire de scroller avec les flèches quand il a
le focus. Je ne me souviens même plus de tout ce que j'ai tenté.



il faut supprimer les bindings de la classe Canvas :

foreach my $key ( qw{ Down End Home Left Next Prior Right Up } ) {
$top->bind('Tk::Canvas', "<Key-$key>", undef);
$top->bind('Tk::Canvas', "<Control-Key-$key>", undef);
}

cdlt,
jérôme
--

Avatar
Patrick Texier
Le Sun, 04 Jan 2009 11:15:25 +0100, Jerome Quelin a écrit :

il faut supprimer les bindings de la classe Canvas :

foreach my $key ( qw{ Down End Home Left Next Prior Right Up } ) {
$top->bind('Tk::Canvas', "<Key-$key>", undef);
$top->bind('Tk::Canvas', "<Control-Key-$key>", undef);
}



Merci Jérôme.

jérôme



Attention ton Knode, comme tous ceux qui en ont un récent, ne déclare
pas (ou mal) le jeu de caractères, ici UTF-8, rendant les accents
illisibles par le reste du monde :

Content-Type: text/plain; charset=""
Content-Transfer-Encoding: 8Bit


--
Patrick Texier

vim:syntax=mail:ai:ts=4:et:twr