Home Informatique CV Projets Famille J'aime Mmm Coup de gueule Web Radio Belge B&M Jeux Art-NFT C+ 113

C'est une pub! Ce thême est basé sur w3 css.

Oui vous êtes capable de modifier ce thême

Cool? Oui, avec plein d'exemples faciles à comprendre et à modifier.

Aller sur W3.CSS Tutorial c'est en anglais mais google peux traduire les pages.

busy

La curiosité n’est pas un vilain défaut mais une qualité fondamentale.

Attention traduction google translate, approximative à corriger.

NOM

Rendre les widgets Tk occupées, bloquez temporairement les interactions avec les utilisateurs

SYNOPSIS

tk busy window ?options?
tk busy busywindow window
tk busy hold window ?options?
tk busy configure window ?option value?...
tk busy forget window ?window ?...
tk busy current ?pattern?
tk busy status window

DESCRIPTION

Le tk occupé Une commande fournit un moyen simple de bloquer les événements de pointeur de souris de Tk widgets, tout en supplantant le curseur du widget avec un occupé actif configurable curseur. Notez que cette commande n'empêche pas l'envoi d'événements au clavier à les widgets ont été occupés.

INTRODUCTION

Il y a de nombreuses fois dans les applications où vous voulez temporairement restreindre quelles mesures l'utilisateur peut prendre. Par exemple, une demande pourrait comporter une « Run » un bouton qui, lorsqu'il est enfoncé, provoque un certain traitement. Toutefois, alors que le application est un traitement occupé, vous ne voulez probablement pas que l'utilisateur soit capable de cliquer sur le « Run » bouton à nouveau. Vous pouvez également vouloir limiter l'utilisateur à d'autres tâches telles que en cliquant sur a « Imprimer » bouton.

La commande tk busy vous permet de faire des widgets Tk occupés. Cela signifie que l'utilisateur des interactions telles que des clics de bouton, le déplacement de la souris, la frappe au clavier, etc. sont ignorées par le widget. Vous pouvez mettre un curseur spécial (comme une montre) qui annule le curseur normal du widget, fournissant un retour d'information que le l'application (widget) est temporairement occupée.

Quand un widget est rendu occupé, le widget et tous ses descendants ignoreront événements de pointeur. Il est facile de faire en sorte qu'un panneau entier de widgets soit occupé. Vous pouvez simplement faire le widget de haut niveau (tel que «. ») occupé. C'est plus facile et beaucoup plus efficace que la traversée récursive. la hiérarchie widget, désactivant chaque widget et reconfigurant son curseur.

Souvent, la commande tk busy peut être utilisée au lieu de Tk's grab commandement. Contrairement à l'attrapant qui limite toutes les interactions de l'utilisateur à une seule widget, avec la commande tk busy vous pouvez avoir plus d'un widget actif (par example, a « Annuler » dialog et a « Aide » bouton).

EXEMPLE

Vous pouvez faire plusieurs widgets occupés en faisant simplement son widget d'ancêtre occupé l'utilisation de la tenue fonctionnement.

frame .top
button .top.button; canvas .top.canvas
pack .top.button .top.canvas
pack .top
# . . .
tk busy hold .top
update

Tous les widgets à l'intérieur de .top (y compris .top) sont maintenant occupés. Utilisation la mise à jour assure que la commande tk busy prendra effet avant toute d'autres événements utilisateur peuvent se produire.

Lorsque l'application n'est plus un traitement occupé, vous pouvez autoriser l'utilisateur les interactions à nouveau et libérez toutes les ressources qu'il a attribuées par l'oubli fonctionnement.

tk busy forget .top

La fenêtre occupée a un curseur configurable. Vous pouvez changer le curseur occupé utiliser l'opération de configuration.

tk busy configure .top -cursor "watch"

La destruction du widget nettoiera également toutes les ressources allouées par le tk commandement occupé.

OPERATIONS

Les opérations suivantes sont disponibles pour tk occupé commande:

tk busy window ?option value?...
Raccourc pour tk hold occupé commandement.

tk busy busywindow window

Retourne le nom de chemin de la fenêtre occupée (c'est-à-dire la fenêtre transparente de protéger la fenêtre apparaissant occupée) créé par le tk hold occupé Commande pour Fenêtre, ou la corde vide si Fenêtre n'est pas occupé.

tk busy cget window option

Requête la tk occupé options de configuration de commande pour Fenêtre. Fenêtre doit être le nom de chemin d'un widget précédemment occupé par le tenue fonctionnement. La commande retourne la valeur actuelle de la valeur spécifiée option. Option peuvent avoir l'une quelconque des valeurs acceptées par tenue fonctionnement.

tk busy configure window ?option value?...

Interroge ou modifie le tk occupé options de configuration de commande pour Fenêtre. Fenêtre doit être le nom de chemin d'un widget précédemment réalisé occupé par le tenue fonctionnement. Si aucune option n'est spécifiée, une liste décrivant toutes les options disponibles pour Fenêtre (voir Tk-ConfigureInfo pour information sur le format de cette liste) est renvoyés. Si option est spécifiée en l'absence Valeur, puis la commande retourne une liste décrivant l'option nommée (cette liste sera identique à la sous-liste correspondante de la valeur retournée si option est spécifiés). En cas d'un ou plusieurs valeur d'option les paires sont spécifiées, puis les commande modifie la ou les options de widget données pour avoir la ou les valeurs données; en ce cas, la commande retourne la chaîne vide. Option peut avoir l'un quelconque des les valeurs acceptées par le tenue fonctionnement.

Veuillez noter que la base de données d'options est référencée par la fenêtre. Pour par exemple, si le widget .frame doit être occupé, le curseur occupé peut être spécifié pour elle par l'une ou l'autre optioncommande d'option:

option add *frame.busyCursor gumby
option add *Frame.BusyCursor gumby

tk busy current ?pattern?
Retourne les noms de chemin de tous les widgets qui sont actuellement occupés. Si Modèle est donné, seuls les noms de chemin de widgets occupés correspondent Modèle sont renvoyés.

tk busy forget window ?window?...

Relâche les ressources allouées par le tk occupé Commande pour Fenêtre, y compris la fenêtre transparente. Les événements d'utilisateur seront à nouveau reçus par Fenêtre. Les ressources sont également libérées lorsque Fenêtre est détruite. Fenêtre doit être le nom d'un widget spécifié dans le tenue opération, sinon une erreur est signalée.

tk busy hold window ?option value?...
Fabrique le spécifié Fenêtre (et ses descendants dans la fenêtre de Tk hiérarchie) apparaissent occupées. Fenêtre doit être un nom de chemin valide d'un widget Tk. Une fenêtre transparente est placée devant la fenêtre spécifiée. Cette transparence la fenêtre est mappée la prochaine fois que les tâches de ralenti sont traitées, et la tâche spécifiée Window et ses descendants seront bloqués des interactions de l'utilisateur. Normalement >mise à jour doit être appelé immédiatement après pour s'assurer que la prise l'opération est en vigueur avant le début de la demande. Le la commande retourne le nom path de la fenêtre occupée qui a été créée (c'est-à-dire le une fenêtre transparente protégeant la fenêtre apparaissant occupée). Les les options de configuration sont valables:

-cursor cursorNom Spécifie le curseur à afficher lorsque le widget est occupé. CursorName peuvent être sous quelque forme que ce soit accepté par Tk-GetCursor. Le curseur par défaut est Attendre sur Windows et Veille sur d'autres plates-formes.

tk busy status window
Retourne l'état d'un widget Fenêtre. Si Fenêtre actuellement ne peut pas recevoir des interactions utilisateur, 1 est renvoyée, sinon 0.

GESTION DES ÉVÉNEMENTS

CONCLUSIONS

La fonction de blocage des événements est implémentée par la création et la cartographie a une fenêtre transparente qui recouvre complètement le widget. Quand la fenêtre occupée est mappé, il protège invisiblement le widget et sa hiérarchie à partir de tous les événements qui peuvent être envoyées. Comme les widgets Tk, les fenêtres occupées ont des noms de widgets dans la fenêtre Tk hiérarchie. Cela signifie que vous pouvez utiliser le se lier commande à manipuler événements dans la fenêtre chargée:

tk busy hold .frame.canvas
bind [tk busy busywindow .frame.canvas]  { ... }

ou

set busyWin [tk busy hold .frame.canvas]
bind $busyWin  { ... }

ENTRÉANTS/ÉVÉNEMENTS DE L'ÉVENTION

La cartographie et la déverbographie des fenêtres occupées génèrent des événements d'entrée/de laisser pour tous widgets qu'ils couvrent. Veuillez noter que si vous suivez les événements d'entrée/congé dans widgets.

ÉVÉNEMENTS CLÉS

Lorsqu'un widget est rendu occupé, le widget est empêché d'obtenir le clavier focaliser par un utilisateur cliquant dessus par la fenêtre chargée. Mais si le widget avait déjà focus, il peut encore recevoir des événements de clavier. Le widget peut aussi toujours recevoir se concentrer par le biais de la traversée du clavier. Pour éviter cela, vous devez bouger se concentrer sur une autre fenêtre et s'assurer que l'objectif ne peut pas revenir aux widgets a occupé (par exemple, mais en restreignant la mise au point à un bouton d'annulation).

pack [frame .frame]
pack [text .frame.text]
tk busy hold .frame
pack [button .cancel -text "Cancel" -command exit]
focus .cancel
bind .cancel  {break}
bind .cancel  {break}
update

L'exemple ci-dessus déplace le focus de .frame immédiatement après avoir appelé le tenir en attente de sorte qu'aucun événement du clavier ne sera envoyé à .frame ou à l'un des ses descendants. Il s'assure également qu'il n'est pas possible de laisser le bouton . venancer à l'aide du clavier.

PORTABILITÉ

Il convient de noter que la tk busy la commande n'a actuellement aucun effet sur macOS lorsque Tk est construit à l'aide du support Aqua.

VOIR AUSSI

grab