Transcription
1. Introduction: Bonjour, et bienvenue dans le développement d'une
interface graphique en Python avec Kiner. Je m'appelle Jotha Shokar et je suis votre instructrice
pour ce Il s'agit du cours le plus complet
et le mieux organisé sur le développement des systèmes gastro-intestinaux
avec l'aide de Kiner. À la fin de ce cours, les étudiants seront en mesure de
comprendre les bases de la programmation
GI avec Kiner, de programmation
GI avec Kiner créer des applications de
bureau entièrement fonctionnelles, d'
utiliser des assistants, des gestionnaires de mise en page
et de gestion d'événements, appliquer la programmation orientée objet
dans l'application Kinter et de créer des projets concrets Et si nous parlons de la structure de
base,
je vais d'abord vous donner une introduction,
comment nous pouvons
l' installer, quoi consiste Kinter et en
comprendre le fonctionnement principal Ensuite, nous allons passer à gestion
de Kinter Window Ensuite, nous allons
apprendre les sorciers Kinter. Ici, nous allons
apprendre les magiciens de base. Ensuite, nous allons
apprendre la gestion de la mise en page, telle que l'emplacement des grilles PAG
et les mises en page imbriquées. Ensuite, nous allons passer à l'assistant avancé de Kinter Nous allons
découvrir tous les Wizzer avancés un par un Ensuite, nous
allons en apprendre davantage sur les événements Kiner,
tels que la liaison de commandes, tels que la liaison de commandes événements
du clavier et de la souris, etc. Et dans le chapitre suivant,
nous allons
parler de la variable Kinter
et de la liaison de données Ensuite, nous allons
travailler avec des boîtes de dialogue,
telles que la boîte de message, la boîte de
dialogue de champ et le sélecteur de couleur Ensuite, nous allons
parler des manœuvres et des Colbords. Ensuite, nous
allons apprendre la programmation orientée
objet dans Kiner. Vous pouvez créer des
applications GI à l'aide de classes, structurées en applications
plus grandes, héritées et réutilisables par des assistants. Au chapitre suivant,
nous allons
apprendre les images et le canevas. Et enfin, nous allons
apprendre le magicien à thème avec TTK. Nous allons utiliser le module TTK, assistants de
style, des
thèmes personnalisés, etc. Ensuite, après avoir appris
tout ce chapitre, nous allons nous
plonger dans la section projet. Nous allons aborder
certains projets de base. Ensuite, nous allons aborder
certains projets intermédiaires, et je vais également aborder
certains projets avancés. Alors, qu'est-ce que tu attends ? Commençons par créer votre propre application de bureau.
Merci beaucoup
2. Qu'est-ce que TKinter ?: Bonjour et bienvenue. Il s'agit du premier
tutoriel sur Kiner. Sinon, appuyez sur TK Enter. Dans ce tutoriel, je vais vous
présenter qu'est-ce que Kiner ? Qu'est-ce que Kinter et pourquoi
devrions-nous apprendre Kiner ? Kinter est la bibliothèque d'interface
graphique standard pour Python. Il fournit un premier moyen simple
de créer une application de bureau avec des éléments
graphiques tels que des boutons, des
étiquettes, des zones de texte et des mobs Il s'agit donc essentiellement d'une interface
utilisateur graphique construite par Python. Si vous avez des connaissances de base
sur le codage Python, vous pouvez commencer ce voyage. C'est l'un des moyens les plus simples de créer une application de bureau. Et si je parle de
son point clé, il est livré avec une bibliothèque intégrée. TKnter est livré avec Python
préinstallé, il n'est
donc pas nécessaire de l'
installer séparément Le point clé suivant est per
sur TCL, sinon TCA. Il agit comme une interface Python
pour le kit d'outils TCL TGI. En gros, Kiner n'est pas
un kit d'outils GI en soi, mais plutôt un rappeur Python autour d'une boîte à
outils GI existante appelée TCL TK Maintenant, la question est : qu'
est-ce que TCL et Tiki ? TCL est l'abréviation de Tool
Command Language. Il s'agit d'un langage de script, et TK est une boîte à outils GI
initialement développée pour TCL
afin de créer une application graphique Ensemble, TCL et TK constituent un système puissant et flexible utilisé pour créer une interface utilisateur Vous avez donc maintenant la
puissance de Python avec la fonctionnalité TK GUI. Et la prochaine caractéristique la plus importante
est qu'il est multiplateforme. Les applications Kiner peuvent fonctionner sous Windows, McWays et Linux. Il est donc polyvalent.
Il est alors léger et convient aux applications gastro-intestinales de petite à
moyenne taille. De plus, il est piloté par les événements. Soutenez les pompons pilotés par des événements,
tels que la réponse à des
cliques ou à des frappes de touches tels que la réponse à des
cliques ou à des frappes Tels sont les
points essentiels de Kiner. Parlons maintenant de ce que nous
pouvons créer avec Kiner ? Nous pouvons créer des outils de bureau tels qu'une calculatrice pour
faire des applications, etc. Nous pouvons créer à partir d'applications
basées sur des applications telles que le système de connexion. Nous pouvons développer des jeux ou de
simples programmes interactifs. Nous pouvons créer des
applications de dessin ou des outils visuels. Il convient parfaitement aux applications
gastro-intestinales de petite à moyenne taille. Cela pourrait être votre
première étape pour créer une application
GI avec le langage
de programmation Python. C'est pourquoi tu
devrais apprendre Kiner. Il s'agit simplement d'un
didacticiel d'introduction à Kinder. Dans le prochain tutoriel, nous
allons apprendre comment installer Kiner pour
différentes plateformes Merci d'avoir regardé cet
état pour notre prochain tutoriel.
3. Installation de Tkinter: Bonjour, les gars. C'est bon de vous voir B. C'est le deuxième tutoriel lié à KinterT Nous allons apprendre
comment installer Ginter Dans la plupart des cas, kinter est
préinstallé avec Python. Vous pouvez vérifier s'il est disponible en l'exécutant dans l'interpréteur
Python. Il vous suffit de
taper Import Ginter, puis d'
imprimer cette déclaration Sinon, vous pouvez
imprimer n'importe quoi. Si aucune
erreur ne s'affiche dans votre terminal, cela
signifie qu'il fonctionne. Je l'ai installé dans votre système. Je vais vous montrer
la démonstration. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de
mon studio utilisateur. Dans un premier temps, je vais
importer le module Ginter. Importer Ginter TK
Enter, celui-ci. Ensuite, je vais
imprimer une déclaration. Imprimer. Dans le double cours, je vais taper : Kinter,
TK, Enter fonctionne Je vais configurer ce fichier. Si je clique sur ce fichier, si je
clique dessus, si
je clique sur le bouton Exécuter
et que, comme vous pouvez le voir, il est imprimé, Kinter fonctionne car il est
préinstallé avec Python C'est pourquoi nous n'avons pas
besoin de l'installer. Si vous installez Python à l'aide
de l'installateur officiel, Kiner est déjà disponible. Pour le vérifier,
tapez simplement Python AM Ginter. Si vous le tapez dans votre
Windows Powershell, une petite
fenêtre d'interface graphique de démonstration devrait apparaître. Laisse-moi te montrer. Comme vous pouvez le voir, je suis dans mon Windows Power Shell. Si j'exécute ce code de tableau de bord, laissez-moi vous le montrer,
puis j'appuie sur Entrée Comme vous pouvez le voir, une fenêtre
apparaîtra. C'est à des fins de démonstration. Cela signifie que inter est
préinstallé avec Python. De même, si votre système
d'exploitation est MwS for McWskiner est fourni avec Si ce n'est pas le cas,
tapez simplement, est-ce que EW est installé. Python TK, puis
tapez Python 3:00 A.M.
Kiner. Il vérifiera qu'il est installé sur
votre système. Mais pour le système
d'exploitation Linux, vous devrez peut-être l'installer
manuellement à l'aide d'APT. Tapez simplement PSUDoepTgt Abdet. Ensuite, PSUdoepTgt installe
Python trois TK. Et pour les tests, il suffit
de taper Python 3:00 A.M. Kinder. Voici comment installer
Kinter dans votre système. Pour ce tutoriel, sœur, nous allons utiliser le système d'exploitation
Windows. Voici donc toutes les vidéos à venir basées sur le fonctionnement de Windows. C'est tout pour ce tutoriel. Dans le prochain tutoriel, nous allons notre première fenêtre d'hiver. Merci donc d'
avoir regardé cette vidéo, restez connectés pour le
prochain tutoriel.
4. Votre première fenêtre Tkinter avec Mainloop: Il s'agit donc du premier
tutoriel pratique lié à Kiner, et nous allons créer ici
notre première fenêtre Kinker Comme vous pouvez le voir dans mon répertoire de travail
actuel, je crée déjà un fichier Python. Dans un premier temps, nous devons
importer le module. Nous devons importer Kiner. Il existe deux manières d'
importer le module TK. Dans un premier temps, nous pouvons
tout importer depuis Kinter. Pour cela,
il suffit de taper depuis Kiner TKnter. Je
vais importer Star, il va tout importer,
chaque classe, chaque fonction
qui se trouve dans Mais il existe une autre méthode. Cette ligne importe toutes
les classes
et fonctions nécessaires depuis
la bibliothèque Kinter Vous pouvez également importer
Ginter en utilisant le nom d'Ali. Pour cela, vous devez
taper import Enter en tant que TK. C'est la deuxième méthode
pour importer KInterF maintenant, je voudrais utiliser
la première méthode, donc je vais commenter
cette ligne. Ne t'inquiète pas. Je vous l'expliquerai plus tard dans
nos prochains tutoriels. Ensuite, nous devons
créer la fenêtre principale. Pour créer la fenêtre principale, il
faut définir une variable. Dans notre cas, je
vais taper root,
root égal à ici, nous devons utiliser l'instance de classe
T de type T K et round
versus to the class. Ici, nous créons une
instance de la classe TK, qui représente la
fenêtre racine de votre application. Ensuite, nous devons démarrer
la boucle d'événements Ming. Pour cela, ici,
je vais taper root point main loop
et round brass. La méthode de boucle d'événements principale lance la boucle d'événements kintered, qui permet à la fenêtre de rester
ouverte et de réagir
aux interactions de l'utilisateur
jusqu'à sa fermeture Si je définis ce fichier et que j'exécute
ce code dans mon terminal, une
fenêtre vide s'ouvrira. Laisse-moi te montrer. Après avoir appuyé sur le bouton Exécuter,
comme vous pouvez le voir, une fenêtre vide s'ouvre
ici. Je vais maintenant attribuer
un titre à cette fenêtre. Pour cela,
tapez ici root point title. Dans les versets ronds,
je vais taper,
c'est simple,
tapez Jim, une interface graphique simple. Sinon, vous pouvez
taper votre premier GI et vous devez définir le fichier et exécuter le
code dans votre terminal. Prononcez le code dans votre
terminal comme vous pouvez le voir, vous pouvez
maintenant voir le
nom de la fenêtre de ce simple GY, et vous pouvez remarquer qu'il est réactif grâce
à cette boucle principale. Ici, nous créons notre
première fenêtre vide GI à l'aide de Python Kinder Parlons maintenant de
la fonction de boucle principale. La fonction Root point Mino démarre
la boucle d'événements de l'interface graphique. Ce sont des moyens d'interactions
telles que le clic, la saisie, etc. La fenêtre reste toujours ouverte jusqu'à ce qu'elle soit fermée manuellement. Sans cela, la fenêtre
clignoterait ou se fermerait instantanément. Si je commente cette ligne
, que définis ce fichier et que j'exécute
ce code dans mon terminal, vous remarquerez
maintenant qu'il
n'ouvre pas la fenêtre. En gros, il a ouvert la fenêtre, mais instantanément il la
ferme. Si je le relance à nouveau, vous remarquerez à peine que
vous pouvez remarquer quelque chose parce que nous avons besoin de cette boucle principale
pour garder cette fenêtre ouverte C'est l'utilisation de la
boucle principale, et c'est important. C'est tout pour ce tutoriel. Dans le prochain tutoriel, nous allons
parler de géométrie. Restez à l'affût pour le prochain tutoriel.
5. Créer une fenêtre principale: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel lié à Python Kinter
dans cette section, nous allons apprendre comment gérer et personnaliser la fenêtre principale de Kinter Ces concepts fondamentaux
sont essentiels pour créer et peaufiner votre application d'
interface graphique conviviale Dans notre précédent tutoriel, nous avons appris comment créer
la fenêtre principale. Pour cela, nous devons d'abord importer
le module inter. Tapez donc, importez TK enter, TK entrez en tant que TK. Ensuite, en utilisant son nom de classe, je vais créer
une variable d'instance, et je vais la nommer
root DV T. Root égale à
T TkTkTLass, c'est une
classe et un point-virgule dans
cette ligne et une base T TkTkTLass, c'est une
classe et un point-virgule dans
cette ligne et une ronde pour une base fermée et arrondie Cette ligne crée
la racine principale. Comme vous le savez, pour exécuter
cette application, nous devons appeler une racine d'événements. Pour cela, je vais
taper root point main root. En gros, cela
exécutera l'application. Si j'exécute ce code
dans mon terminal, cela créera une fenêtre
vide. Il s'agit de la fenêtre vide. Si vous souhaitez donner un titre à cette fenêtre, oui, vous le pouvez. Il vous suffit de taper, laissez-moi vous montrer entre
le verre Ticket et le menu, vous devez taper root
le titre de l'application Mc Inter. Si je définis ce fichier
et que j'exécute ce code, comme vous pouvez le voir, ce titre
est maintenant attribué à cette application Inter. Parlons maintenant de la géométrie. Je souhaite définir la taille de la fenêtre, position de
la fenêtre et l'icône de la fenêtre. Pour cela, nous devons
utiliser la fonction de géométrie. Laisse-moi te montrer. Je vais taper
la géométrie du point racine. Ici, je vais définir
la taille de notre fenêtre. À l'intérieur des codes doubles, je veux définir
la taille 800 X 600. Cela va définir la
taille de la fenêtre. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, maintenant vous pouvez le voir, maintenant vous pouvez remarquer que cette fois, il a ouvert
une fenêtre beaucoup plus grande. Ensuite, avec la
taille de cette fenêtre, je vais définir
la position de
cette fenêtre à l'endroit où elle
va ouvrir la fenêtre. Pour cela, après avoir défini
la taille avec la hauteur, je vais ajouter, je vais ajouter avec 100. C'est pour les Xxs et pour les YxS je vais en
ajouter 50 C'est pour YxS. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant remarquer le résultat. À partir du XX, il
fournira un écart de 100 pixels, et à partir du YXS, il
fournira un écart de 50 pixels De même, si j'augmente la valeur de YXS, si je lui donne
500, que je crée ce fichier
et que je réexécute ce code, maintenant vous pouvez remarquer que cette fois, la fenêtre
s'est ouverte
depuis le YXS Cette fois, il offre un
écart de
500 pixels par rapport au sommet et de 100 pixels depuis le laboratoire . C'est ainsi que nous pouvons
positionner cette fenêtre. Nous pouvons définir l'endroit où il
va s'ouvrir sur notre écran. N'oubliez pas que nous
devons d'abord fournir W, puis nous devons fournir la hauteur. Après cela, nous devons utiliser le signe d'
addition et nous devons
fournir la valeur Xofte
puis la valeur de décalage Y. Vous devez suivre
ce mot avec hauteur, X en face et Y en face. Voyons maintenant comment
définir une icône pour notre application,
notre application GI. Pour cela, nous devons utiliser la fonction
Icône Bitmap.
Laisse-moi te montrer. Donc, pour taper, racine, point, icône Bitmap, icône bitmap Ensuite, à l'intérieur de la cavité ronde nous devons fournir
le chemin du fichier Dans le double
cours, je vais
taper le nom de cette icône icon.co. N'oubliez pas que pour l'icône, nous devons
toujours utiliser l'extension point ICO. Dans le cas contraire, cela ne fonctionnera pas. Alors attachez CO dans icon.co. Je
vais configurer ce fichier. J'appuie sur définir ce fichier,
exécutons le code dans notre terminal. Quelqu'un a exécuté ce
code dans mon terminal et comme vous pouvez le voir,
vous pouvez maintenant voir l'icône. C'est l'icône que j'ai utilisée. C'est une icône de téléchargement de fichiers. Dans ce didacticiel,
nous apprenons
comment définir une dimension
à notre fenêtre, comment ouvrir notre fenêtre
à une certaine position et
comment attribuer une icône
à notre application. Dans la prochaine partie
de ce didacticiel, nous allons
parler du redimensionnement des fenêtres, des limites maximales
minimales
et du mode plein écran Merci d'avoir regardé cette vidéo, restez connectés pour le
prochain tutoriel.
6. Redimensionnement de fenêtre, limites MinMax: Bonjour, les gars.
Contente de te revoir. Il s'agit du deuxième tutoriel fenêtres RelatateKmer. Comme vous pouvez le voir, maintenant, si j'exécute ce code
dans mon terminal, vous pouvez voir la fenêtre
à cette position. Maintenant, si j'essaie de
redimensionner la fenêtre,
oui, elle est redimensionnable Nous pouvons étendre sa largeur
et sa hauteur, mais nous pouvons fixer une limite. Laisse-moi te montrer. Ici, je vais utiliser une fonction
appelée redimensionnable Un certain type. Point racine redimensionnable À l'intérieur des roulettes,
je vais créer des modes. À la fois la valeur
baisse, la baisse s'estompe. C'est pour with, et ensuite, je vais passer une fausse
valeur pour la hauteur, les modes, et je vais
définir ce fichier Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, et cette fois, si j'essaie de
redimensionner cette fenêtre, elle n'est plus redimensionnable car nous rendons
les deux valeurs fausses, mais si je définis l'une
des valeurs vraie, je vais
donc rendre la valeur de
hauteur Ensuite, définissez ce fichier et
un autre code dans mon terminal. Vous pouvez maintenant remarquer que nous pouvons augmenter la hauteur
de cette fenêtre. Nous pouvons augmenter la
hauteur de cette fenêtre. Mais si j'essaie d'étendre
la largeur de cette fenêtre, cela ne fonctionnera pas
car cette fois, nous rendons valeur de
largeur fausse et la valeur de
hauteur vraie. Nous pouvons donc augmenter la hauteur, mais nous ne pouvons pas étendre la
largeur de cette fenêtre. Parlons maintenant de la fonction
de taille minimale et de taille maximale. Je vais donc
commenter cette ligne,
et ici, je vais d'abord
utiliser,
je vais utiliser la taille minimale, le type
d'été, la racine, la taille moyenne
supérieure, MIN, la taille minimale, et ici, je vais définir la dimension. Ici, je vais dire que
c'est une dimension minimale, 400 par 300 et je
vais définir ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal et que j'essaie de
réduire la taille de la fenêtre, vous remarquerez qu'à un
moment donné, il arrête de redimensionner la fenêtre car
sa taille minimale 400 et pour la
hauteur, nous en utilisons 300 Nous ne pouvons pas réduire la hauteur
et la largeur de cette fenêtre. C'est ainsi que nous pouvons définir la taille minimale de cette fenêtre. De la même manière, nous pouvons
définir la taille maximale. Je vais dupliquer cette ligne et au lieu de la taille minimale, je vais utiliser la taille maximale. Tapez donc la taille maximale maximale, et ici, je vais
dire dimension. Pour la largeur, je vais en
prendre 1 200. Et pour la taille, ici
je vais en prendre 800. Je vais configurer cette pile et je vais réexécuter
ce code. Maintenant, si j'essaie d'augmenter la
hauteur intérieure à un moment donné, cela arrête d'augmenter la hauteur
et la roue de cette fenêtre. Désormais, la largeur devient 1 200 pixels et la hauteur
800 pixels. Nous ne pouvons pas aller plus loin
parce que nous avons parlé ici
de la limite maximale. C'est ainsi que nous pouvons définir la
taille maximale et minimale de cette fenêtre. J'espère que maintenant c'est clair 40. Parlons maintenant du vote
en plein écran. Avant d'appliquer
le mode plein écran, je vais commenter
les deux lignes, la taille
maximale et la taille minimale car nous devons
remplir la condition. C'est pourquoi nous devons
commenter ces lignes. Vous pouvez également
commenter la géométrie, mais vous n'en avez pas besoin pour
appliquer le plein écran Je vais taper root, root, attribute function,
attributes, puis dans
les versets
ronds du cours unique, je vais taper en plein écran. Plein écran Ensuite, je vais faire en la condition soit vraie.
Je
vais configurer ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal, il
n'y a pas de problème. Oui,
notre fenêtre va passer en plein écran, mais il n'y a aucun moyen de
quitter le mode plein écran. Je vais donc exécuter ce
code dans mon terminal, et après l'avoir exécuté dans notre terminal, comme vous pouvez le voir, il
crée le plein écran. Maintenant, il crée une fenêtre en plein
écran, mais il n'y a aucun moyen de
quitter la fenêtre car nous ne définissons aucune
condition pour cela. Sinon, nous ne définissons
pas le contraire, nous ne créons aucune
fonction pour cela. Et ici j'utilise plusieurs écrans, donc depuis mon autre écran,
je peux fermer cette fenêtre. Donc, depuis ma barre de remorquage, je vais fermer la fenêtre Et quittez le programme.
Maintenant, la question est de savoir comment utiliser
le plein écran ? Comment quitter le plein écran. Pour cela, nous devons
créer une fonction. Je vais donc
créer une fonction. Je vais définir une fonction
et le nom de notre fonction est, et le nom de notre fonction
est quitter le plein écran. Je vais donc définir
la fonction en utilisant DF DF et le
nom de notre fonction est quitter le plein écran. Ensuite, au cours de la ronde, dites ici, je vais créer un événement ici, je vais faire en sorte que
l'événement soit égal à aucun. Ensuite, dans la fonction Exit four
screen, je vais utiliser cette
méthode, Good dot attributes. Copiez celui-ci,
je vais le mettre ici et je vais le
supprimer de cet endroit. Maintenant, la question est de savoir pourquoi j'utilise ce paramètre facultatif dans cet événement de fonction
égal à none ? Parce que Kinter fait
automatiquement l'éloge d'un objet d'événement lorsqu'
une touche est enfoncée Lorsque nous louons une clé, Kinter pense qu'il s'agit d'un événement. Par
conséquent, par défaut, nous en faisons un événement. Et maintenant, nous devons le lier
et appeler le mot clé event. Pour ce troupeau, je vais
utiliser la méthode bind. Ne t'inquiète pas. Je
vous expliquerai plus tard pourquoi j'utilise bind. Tapez donc root, point, bind method. Liez, puis à
l'intérieur des presses rondes, elle est à l'intérieur du double code moins
que supérieur à l'intérieur. Ici, je vais taper scape. Je veux dire, quand je fais l'éloge de la touche Scape, je veux quitter le plein écran, certains types de sortie de la fonction plein
écran, j'appelle la fonction de sortie en plein
écran. Je vais configurer ce fichier. Avant de définir ce fichier, permettez-moi de corriger
quelque chose ici, nous devons quitter le mode plein écran. Nous devons faire en sorte que ce soit
faux, pas vrai, faux. Vous allez quitter
le mode plein écran, puis nous devons activer le mode plein écran en utilisant les
mêmes méthodes d'attributs. Je copie les attributs du point
racine de cette ligne, et je vais les coller ici. Et cette fois, je
vais faire en sorte que ce soit vrai. Donc, tout d'abord, il va
activer le mode plein écran. Ensuite, chaque fois que je fais l'éloge de
Scapekey sur mon clavier, il quitte
le mode plein écran Donc, pour configurer ce fichier, si j'exécute ce code
dans mon terminal, comme vous pouvez le voir, il
active d'abord le mode plein écran. Et chaque fois que je fais l'éloge de
Scapekey sur mon clavier, comme vous pouvez le voir, il
quitte le mode plein écran Voici donc comment nous pouvons ouvrir notre fenêtre à
différentes géométries. J'espère que vous comprendrez
maintenant comment fonctionne
la géométrie dans Kinter.
Dans le prochain tutoriel, nous allons travailler sur les assistants de
base de Ginter Merci donc d'
avoir regardé cette vidéo, restez connectés pour un
prochain tutoriel.
7. Widget de tkinter pour étiquette: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un autre kinter lié au tutoriel Et aujourd'hui, dans ce tutoriel, nous allons
parler de Label Wizard. Assistant d'étiquetage utilisé pour afficher du texte ou des images dans
une application graphique. C'est l'un des magiciens les
plus basiques. Et si je parle de
sa fonctionnalité clé, il est utilisé pour afficher du texte et des images
statiques. Personnalisez l'apparence à l'aide de
propriétés telles que la police, la
couleur, la taille, etc. Il peut s'agir d'un espace réservé à une enquête ou fournir des commentaires
dans une application Et si nous parlons de
sa syntaxe, d'abord, lorsque vous tapez label method, puis dans les runbs, nous devons
fournir la fenêtre principale
sinon le nom du cadre Ensuite, nous pouvons utiliser
ces propriétés. Sinon, nous pouvons utiliser
ces paramètres, le texte et d'autres options. Et nous avons diverses
options de configuration telles que la police, arrière-plan, le premier plan, etc. Parlons maintenant de ses options. Nous devons indiquer sept
options dans Level Wizard. Texte, image, police, arrière-plan, pour le remplissage X, le remplissage Y. Dans notre première option, il
dissocie l'étiquette,
et en utilisant l'option image,
il disparait l'image au lieu du texte et en utilisant l'option image,
il disparait l'image il disparait Ensuite, nous avons la police de caractères. Nous pouvons
définir le style de police en l'utilisant. Ensuite, nous avons la couleur de fond. Ensuite, nous avons la couleur de premier plan. La couleur de premier plan
correspond à la couleur du texte. Ensuite, nous avons le rembourrage. Il fournit un rembourrage horizontal autour du contenu de l'étiquette Ensuite, nous avons le rembourrage Y. Il s'agit de fournir un rembourrage vertical
autour du contenu de l'étiquette Donc, sans perdre votre temps, commençons par l'aspect pratique et
voyons comment nous pouvons nous en servir. Comme vous pouvez le voir, nous sommes dans mon éditeur de code
Visual Studio. Dans un premier temps, je vais
saisir le module TK. Type Hemo, importation, teinte au format TK. Sinon, vous pouvez importer
tout le programme en utilisant start. Et si vous souhaitez importer tous les programmes du module
TK pour cela, vous devez lier depuis
Kinkerimport, star Il va importer
toutes les méthodes, toutes les classes
de ce module. Je vais commenter
la ligne précédente. Ensuite, nous devons créer
la fenêtre principale. Pour créer d'abord la fenêtre principale, je vais déclarer
une variable root, root égale à cette fois, je vais taper decay. Cela va créer
la fenêtre principale. Ensuite, je vais attribuer
un titre à cette fenêtre. Pour cela, je vais
taper root point title. Puis à l'intérieur des presses rondes, type
hemo, exemple d'étiquette Kiner. Ensuite, je vais définir
la géométrie de cette fenêtre. Je vais taper root, géométrie dans les ronders, dans le double parcours, je vais taper 300 X 200 et vous
devez également exécuter la boucle principale
pour exécuter l'application Il tape root main
loop, main loops one. Si j'exécute ce code
dans mon terminal, comme vous pouvez le voir,
il crée ici une fenêtre. Et maintenant, dans cette fenêtre, je vais mettre un texte. Pour cela, nous allons
utiliser Level Wizard. Quelqu'un doit supprimer cette fenêtre, et ici je vais
taper une variable, et notre variable est level Niveau égal à ici, je vais taper level wizard. Étiquetez un. Ensuite, dans les
presses rondes,
nous devons d'abord fournir le nom de la fenêtre comme
nom de fenêtre, je vais passer root Ensuite, nous devons
fournir le texte. Le texte que je souhaite
transmettre dans cette étiquette. Nous devons saisir le texte du nom de cet
attribut. Texte égal à ici, je vais passer bonjour à Tinter. Ensuite, je vais utiliser la police de caractères. Pour la police, quand taper, police, égale à
l'intérieur de la base ronde, à
l'intérieur du double cours , nous devons d'
abord définir la
police que nous allons utiliser, et je vais
utiliser une police aérienne. Ensuite, nous devons
définir la taille de police. En tant que taille de police, je
vais définir 16. Atrocma ensuite, je vais
passer pour Long Color. Pour la couleur des poumons,
je vais utiliser G, G égal et ici je
vais utiliser la couleur blanche. blanc. Ensuite, je vais
utiliser la couleur de fond, BG, égale à l'intérieur des codes doubles,
le type
hemo, la couleur bleue Je vais configurer ce fichier. Modifiez ce fichier, exécutez le code. Si j'exécute ce code, comme vous
pouvez le voir, il ne montre rien. Je ne montre pas le texte car
nous n'emballons pas cette étiquette. Nous devons maintenant emballer cette étiquette. Ici, nous devons utiliser une
méthode appelée label point PAC. Puis, à l'intérieur du
rond, il est écrit :
« Pour l'instant ,
je ne vais rien transmettre , je vais configurer ce fichier et je vais exécuter ce code Après avoir exécuté ce code, vous pouvez
maintenant voir le texte. Ici, vous pouvez remarquer que
notre taille de police est 16 pixels et que notre
style de police est aérien. Et comme
couleur de fond, nous disons couleur bleue, et comme couleur de forgon, nous disons
ici couleur blanche Et maintenant, je veux
ajouter un petit rembourrage XSS,
également dans le sens YxS Padix Superca Hendotype
Padg égal à TAM. Coma. Comme je vais attribuer
un rembourrage à Y. Pad, Y égal à cinq Si nous exécutons ce code
dans mon terminal, vous pouvez
maintenant le voir au padding Il a un rembourrage
de dix pixels dans la direction X et de cinq pixels dans la direction Y xs. Vous pouvez également attribuer un rembourrage
lorsque vous colmatez cette étiquette. Quelque chose comme ça, laissez-moi
vous montrer le pad Y. Je
vais ajouter le pad Y, et ici je vais en ajouter 20 Et je vais configurer ce
fichier et réexécuter ce code. Autour de ce code,
vous pouvez voir le résultat. Maintenant, il ajoute du rembourrage autour de l'étiquette, pas
à l'intérieur de l'étiquette la même manière, vous pouvez ajouter pada lorsque vous emballez cette étiquette Maintenant, laissez-moi vous expliquer
le code ligne par ligne. Donc d'abord, vous pouvez voir que nous créons une variable dont la racine est égale à TK. Elle crée la fenêtre principale de
l'application. Ensuite, nous attribuons un titre. En gros, il va
définir le titre de la fenêtre. Ensuite, nous attribuons une géométrie. Je précise la taille de la fenêtre. Ensuite, nous allons
passer à la configuration des étiquettes. un premier temps, nous passons
dans quelle fenêtre, je veux créer la mousse,
qui est la route, puis
nous utilisons la propriété du texte Il va spécifier le texte que je souhaite afficher
dans cette fenêtre. Ensuite, nous utilisons C, il
va définir la police, le style de
police et la taille de police. Ensuite, nous avons le terrain. Cela va définir
la couleur du texte. Ensuite, nous avons le
contexte. Je vais définir la couleur de fond. Ensuite, nous avons le padx et le pad y. Padex va ajouter du
rembourrage dans la direction,
et le pad y va ajouter du
rembourrage Ensuite, nous emballons l'étiquette en utilisant la méthode label
dot pack. Il va placer l'
étiquette dans la fenêtre. Sinon, si vous
créez l'étiquette et ne la
placez pas sur la fenêtre, l'étiquette ne sera pas affichée. Et nous ajoutons également un petit
rembourrage en direction de YxS. Voyons maintenant comment
afficher une image à l'
aide de l'assistant d'étiquetage. Comme vous pouvez le voir dans mon répertoire de travail
actuel, nous avons deux images, une image GPG et
une autre image PNG Et si j'ouvre cette image PNG, c'est une icône, et sa
résolution est de 512 x 512. Je vais donc utiliser cette
image, cette image PNG. Ici, je vais
agrandir la taille de la géométrie. Ici, je vais
taper 700 par 700. Je vais configurer
ce fichier. Je vais maintenant afficher cette
image dans cette fenêtre racine. Pour cela, nous devons
utiliser une méthode, et le nom de notre méthode est méthode
photo Image. Dans un premier temps, je vais déclarer une variable et le nom de notre
variable est image. Image, image égale à, nous devons utiliser une méthode
appelée image photo. Tapez donc une image photo. C'est la méthode, c'est
la méthode de Kinter. Puis dans le run brcs. Nous devons fournir le
fichier, le chemin du fichier. Quelle image allons-nous utiliser ? Je vais utiliser un
attribut appelé fichier. Fichier égal à celui contenu dans
le Rundss, comme vous pouvez le voir dans mon répertoire de
travail actuel, nous avions cette image Je veux donc copier le nom de
cette image, et ici je vais passer à la
page le nom de l'image Png underscoimage point PNG Fondamentalement, dans cette variable, nous chargeons cette image en utilisant la méthode de l'image
photo. Maintenant, nous devons créer
un niveau en utilisant cette image. Pour cela, je vais
déclarer une autre variable, label, et
celle-ci est de niveau deux. Le niveau deux est égal à deux. Nous devons utiliser le
niveau de la méthode des niveaux. Ensuite, dans le processus d'exécution, nous devons d'abord fournir le nom de la fenêtre qui est root. Ensuite, nous devons
fournir l'image. Tapez donc image égale à
notre variable image, celle-ci, pour rectifier
la variable, je vais changer
les noms des variables Ici, je vais
ajouter un soulignement. Le soulignement de l'image devient également un soulignement de
passe ici. Ensuite, nous devons
emballer cette étiquette. Je vais dupliquer cette ligne et ici je vais en ajouter deux. C'est le niveau deux. Je
vais configurer ce fichier. Maintenant, exécutons le code et
voyons ce qu'il va créer. Après avoir exécuté ce
code dans mon terminal, comme vous pouvez le voir, il affiche
cette image à l'aide de l'assistant de niveau. Et il ajoute également un
rembourrage de 20 pixels dans la direction YXS. Et une chose dont vous
devez vous souvenir, B par défaut, B Default Ginter supporte le format
PNG, le format GIF Mais il ne supporte pas les images
au format JPG. Laisse-moi te montrer. Je vais supprimer
ce terminal, et je vais
remplacer le chemin du fichier. Je duplique cette ligne et je
commente la précédente. Le moment venu, je vais
utiliser cette image, cette image JPG à pois. Ici, je vais copier le nom du
fichier et je vais mettre ici. Je vais
également
passer le point d'extension JPG, et je vais définir ce fichier. Si j'essaie d'exécuter ce code dans mon terminal, laissez-moi vous le montrer. Je vais corriger une erreur
car comme je vous l'ai dit, nous ne prenons pas en charge les images JPG Pour prendre en charge d'autres formats d'
images tels que le format JPG, vous devez utiliser un autre module
, le module Pillow. Laissez-moi vous montrer
comment nous pouvons l'utiliser. Dans un premier temps, vous devez télécharger
le module dans votre système. Je vais ouvrir le
Window Power Shed. Comme vous pouvez le voir, nous sommes
dans mon Window Powershion. Et pour télécharger
le module Pillow, vous
suffit de taper, de regarder, installer Pillow, PIL Ow, puis d'appuyer sur Entrée Après avoir appuyé sur Entrée, comme
vous pouvez le voir, exigence est déjà
satisfaite car je télécharge déjà ce package, mais vous devez terminer
le processus de téléchargement. Ensuite, vous pouvez utiliser ce nodu Pillow est une bibliothèque d'imagerie Python
issue de ce module Pillow Nous devons importer au
total deux méthodes, image et image ticking
sous forme abrégée, pillow connu sous Ici, je vais
taper à partir de Pill. Je vais y aller. Je
vais importer une image. Je vais également
importer le ticking des images. Celui-ci. Je
vais maintenant commenter cette ligne car lors
de ce processus, nous ne pouvons pas
importer d'image GPG Ici, je vais taper
une seule commande lend et je vais
taper pour les images JPG. Dans un premier temps, je vais
créer une variable appelée image image undersco Je vais utiliser
la même variable. Sinon, je vais
le définir en image JPG. Image JPG, c'est
notre variable et égale à « Je vais
utiliser une méthode ». Nous devons utiliser une méthode
du module Pillow, taper image point et le nom de notre
méthode est ouvert. Et dans les herbes rondes, dans les codes doubles, nous devons transmettre le chemin du fichier. Et comme vous pouvez le voir, nous
allons transmettre ce chemin de fichier, cette image JBIG à pois Ensuite, vous pouvez voir ici, nous utilisons la méthode, image photo. Cela provient de Tintermdule,
mais cette fois, nous devons utiliser image
photo du Ici, je vais taper une photo. Égal à l'image d'une photo à points. Ensuite, à l'intérieur
des ronds et à l'intérieur des ronds, je vais passer le chemin du fichier
image, qui est Image underscoe Je copie le nom de la variable et
je vais le transmettre ici. Ensuite, je vais montrer
cette photo dans ce niveau. Alors Hemo tape photo, et je vais configurer ce fichier Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant le voir
afficher l'image GPG Maintenant, si vous souhaitez redimensionner
cette image, oui, vous le pouvez. Je vais vous montrer comment
vous pouvez le redimensionner. Pour cela, vous pouvez utiliser la
méthode de redimensionnement. Laissez-moi vous montrer comment faire. Je vais faire basculer l'image, souligner le JPG, égal à
l'image, souligner le Ici, je vais utiliser la méthode de
redimensionnement pour redimensionner. Ensuite, dans les erreurs, nous devons attribuer la dimension, et je veux
qu'elle soit de 300 x 300 Ensuite, définissez la
dimension de cette image. Si je fais ce code
dans mon terminal, comme vous pouvez le voir, cela
redimensionne l'image Et aussi, si vous souhaitez faire pivoter
cette image, oui, vous le pouvez. Pour cela, je vais
dupliquer cette ligne et ici, je vais taper UnderscoeGPG
dot Faire pivoter. L'intérieur est rond
en hemo type 45 Si je définis ce fichier et que j'exécute
ce code dans mon terminal, comme vous pouvez le voir,
l'image pivote à 45 degrés. Voici comment nous pouvons utiliser le module
Pillow avec Kinter. Cela va
nous permettre d'afficher images
JPG et par défaut, Kinter ne prend en charge que les images
PNG et GIF Tu dois t'en
souvenir. C'est tout pour ce tutoriel.
Au prochain tutoriel, nous allons
parler d'une autre visite. Nous allons
parler de visite de cadre. Merci d'avoir regardé cette vidéo, Stadium pour notre prochain tutoriel.
8. Widget de cadre Tkinter: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un autre tutoriel lié à KinRetay.
Dans ce tutoriel, nous allons
apprendre Frame Dans notre précédent tutoriel, nous allons découvrir Level
Wizard et dans ce didacticiel, nous allons en apprendre davantage
sur Frame Wizard. Dans Kinter, un cadre est
un assistant de conteneur, utilisé pour regrouper et
organiser d'autres assistants Il agit comme une résine rectangulaire sur l'écran où vous
pouvez placer d'autres assistants, tels que des boutons, des étiquettes
et des fichiers texte. Les cadres sont particulièrement utiles
pour créer une mise en page complexe
en divisant la fenêtre
en sections faciles à gérer Si nous parlons de la
caractéristique clé du cadre, nous pouvons l'utiliser comme conteneur. Nous pouvons l'utiliser pour le coiffage,
sinon pour la parentalité. Les cadres sont principalement utilisés comme conteneurs pour organiser des hiérarchies
définies En outre, nous pouvons l'utiliser pour sind. Vous pouvez personnaliser
l'apparence du cadre à l' aide de propriétés telles que la couleur
d'arrière-plan, la largeur des bordures et le style de relief. Et nous pouvons également l'
utiliser comme parent. Un cadre peut servir de
parent à une autre visite, ce qui vous permet de passer aux cadres suivants
pour les mises en page complexes Si je parle de ses
attributs communs tels que l'arrière-plan, il est utilisé pour la couleur
de fond du cadre avec la hauteur. En l'utilisant, nous pouvons définir la
dimension de ce cadre. Nous pouvons également apporter un soulagement. Je précise le style de bordure, tel que plat, surélevé,
enfoncé, tâtonné, Ensuite, nous avons un autre attribut
appelé largeur de bordure. Il indique la largeur de la bordure. Commençons donc par la pratique et voyons comment appliquer
ces attributs. Comme vous pouvez le voir, nous sommes dans éditeur de code de
mon studio de résultats. Dans un premier temps, je vais
importer notre module. Je vais donc taper
depuis inter pK Enter. Je veux importer, importer. Je veux saisir
tous les programmes, donc je vais importer Star. Ensuite, nous devons créer la fenêtre principale à
l'aide de l'objet TK. Tapez donc, racine égale à TK. Et aussi, vous savez,
nous devons exécuter la
boucle d'événements Tinker, la boucle principale Pour ce type de héros, racine et point signifient boucle. Ensuite, dans un premier temps, je vais
définir la géométrie. Géométrie du point racine. À l'intérieur du laiton rond, à l'intérieur des codes doubles, je vais attribuer 700 x 700 g 300 à ce 700
et la hauteur est de 300 pixels. De plus, si vous souhaitez attribuer un titre à cette
fenêtre, oui, vous le pouvez. Attribuons donc un titre. Je vais donc
taper ici, root point title. Et dans les robes rondes, dans les codes doubles, je vais taper frame example. Maintenant, exécutons le code
et voyons ce qu'il a écrit. Comme vous pouvez le voir, il crée une fenêtre, un nom, un exemple de cadre. Et ici, nous avons parlé de la dimension, 700 x 300 pixels. Maintenant, je vais
créer le cadre principal. Pour cela, je vais déclarer
une variable appelée frame,
frame égal à ce que nous devons utiliser ici nous devons utiliser une
fonction appelée frame. À l'intérieur du
laiton rond,
nous devons d'abord passer la source
dans laquelle je veux afficher le cadre, c'
est-à-dire la racine. C'est la fenêtre racine, alors je vais assigner
wet à ce cadre. Tapez donc we, hem pour
attribuer 200 pixels. Ensuite, je vais
attribuer une hauteur, une hauteur. Je vais également
attribuer 200 pixels. Ensuite, je vais attribuer une
bordure avec une bordure avec, et ici je vais
assigner une bordure avec fib Comme je vais utiliser
un autre attribut. Ici, je veux
appliquer le style de bordure. Pour appliquer le style de bordure, nous devons utiliser la propriété en relief. Soulagement. Relief égal à groupé. Pour l'instant, je vais
appliquer un style de bordure à tâtons. Ensuite, comme vous le savez,
pour créer le cadre, vous devez
également emballer ce cadre. Pour cela, je vais attacher frame point frame point PAC mthodpac l'intérieur des roundres si vous voulez appliquer un peu de
rembourrage, oui, vous le pouvez. Supposons que je veuille appliquer le
pad dans la direction X, pad, X, pad x, dix pixels. Ensuite, je vais
appliquer le pad Y, pad, Y, dix pixels. Et je vais configurer ce fichier. Modifiez ce fichier si j'exécute
ce code dans mon terminal, vous pouvez voir le résultat
ici. Ici, vous pouvez le voir, c'est le cadre que nous créons
dans cette fenêtre. Et si vous souhaitez appliquer une couleur de
fond pour cela, vous devez taper BG. Ici, je vais
taper B, G, arrière-plan. Pour la couleur de fond, je
souhaite appliquer une couleur grise. Donc, dans le double code, je vais taper gray, définir
ce fichier et
réexécuter ce code dans mon terminal. Vous pouvez maintenant voir le résultat. C'est le cadre que nous créons. Ajoutons maintenant du
texte dans ce cadre. Oui, vous pouvez ajouter du texte dans
ce cadre à l'aide d'une étiquette. Laisse-moi te montrer. Donc, ici, je tape en mono un
nom de variable pour l'étiquette. Son type L, L est égal à l'étiquette. Étiquetez d'abord
l'intérieur des
rondelles, nous devons d'abord fournir le cadre dans lequel je
souhaite afficher cette étiquette Le nom de notre cadre est donc frame et le
nom de notre variable de cadre est frame. Cadre AVType. Ensuite, nous devons transmettre le texte. Quel texte je souhaite
afficher dans cette étiquette ? Tapez donc la propriété du texte. Texte égal à l'intérieur
des codes doubles. Je vais taper Hello Word. Et si vous voulez
attribuer une couleur trouvée, supposons par exemple G, et je veux attribuer
une couleur blanche à une couleur ronde. Après avoir créé l'étiquette, vous devez
également
emballer cette étiquette. Pour cela, tapez
point pack Math, pack. Et si vous souhaitez attribuer un
panoramique, oui, vous le pouvez. Donc pour l'instant, je ne
vais attribuer aucun rembourrage et je vais définir ce fichier, l'afficher et exécuter ce code dans mon terminal Exécutez ce code dans mon terminal, comme vous pouvez le voir,
c'est ce qu'il crée. Maintenant, vous vous demandez peut-être
ce qui se passe ici. Comme vous pouvez le constater,
le texte a été inséré avec succès dans ce
cadre, mais il n'applique pas
les attributs que nous appliquons dans notre cadre, tels que la hauteur du large, couleur de
fond, etc. Mais il applique le style boda car si vous utilisez le
niveau dans le cadre, vous
devez appliquer ces attributs dans
cet attribut de niveau Laisse-moi te montrer. Donc pour l'instant, je vais annuler la largeur et la hauteur de l'
arrière-plan Je n'en ai pas besoin. Je vais appliquer une
couleur de fond à cette étiquette, BG. Contexte. Pour le fond, je vais
utiliser de la couleur grise, et
je vais satisfaire. Si j'exécute ce code
dans mon terminal, vous pouvez
maintenant le voir appliquer la couleur de fond
à cette étiquette. Ensuite, si vous souhaitez attribuer un
rembourrage, oui, vous le pouvez. Et maintenant je décide que je veux mettre
ce niveau sur le côté inférieur
de cette fenêtre. Pour cela, nous pouvons
définir ici le côté de ce cadre lorsque nous emballons le
cadre. Laisse-moi te montrer. Hémotype côté, côté égal
à et hémotype laissé. Je veux aligner ce cadre sur le côté gauche de cette fenêtre. Si je définis ce fichier
et que je réexécute ce code, vous pouvez voir le résultat Comme vous pouvez le voir cette
fois, il a aligné le cadre à gauche
de cette fenêtre. Maintenant, je veux remplir ce
cadre dans la direction X. De cette façon à cette
façon, laissez-moi vous montrer comment. Ici, je vais utiliser une
propriété appelée fill. Sentez-vous égal à
l'intérieur des codes doubles, je vais utiliser Y. Je veux le remplir dans la direction de YxS Maintenant, si je traverse ce terminal
et que je réexécute ce code, mais avant de l'exécuter, nous devons passer une virgule,
sous-traiter ce fichier et exécuter
ce code dans mon Vous pouvez maintenant le voir remplir le cadre
dans la direction YxS. Si je supprime le rembourrage
dans toutes les directions, laissez-moi vous montrer si je supprime
les rembourrages, puis si je reconfigure
ce fichier et que j'exécute ce code.
Maintenant, vous pouvez le voir
supprimer le rembourrage
dans toutes les Si j'essaie d'augmenter la
hauteur de ce cadre, laissez-moi vous montrer, comme vous pouvez le voir, que lorsque j'augmente la hauteur, cela augmente
également la hauteur du cadre parce que Hay place ce
cadre à la diction YX. En gros, Harry
crée un sware indiquant AUCUNE fenêtre en utilisant Frame Wist Et dans cet assistant de création de cadres, vous pouvez passer
des boutons, etc. Si vous avez des connaissances en TML, nous pouvons comparer ce
cadre à un élément profond En gros, il
agit comme un conteneur. Et n'oubliez pas que vous pouvez
appliquer ici différents types
de style de bordure, tels que Grobe, enfoncé, plat, surélevé, etc. Et si vous souhaitez déplacer ce
cadre vers la droite,
il suffit de le placer du côté Ty, égal à
droite, lorsque vous le balisez. Voici la
vidéo d'introduction de Frame Wizard, comment nous pouvons l'utiliser et
comment nous pouvons l'appliquer. Dans le prochain tutoriel, nous
allons parler de l' assistant de
boutons et de la façon dont nous
pouvons utiliser l'
assistant de boutons avec cadre. Merci donc d'
avoir regardé cette vidéo, restez connectés pour notre
prochain tutoriel.
9. Widget de bouton Tkinter: Salut, les gars. C'est bon de te revoir. Encore une fois, je suis de retour avec un
nouveau tutoriel lié à Kiner. Et aujourd'hui, dans ce tutoriel, nous allons
apprendre à utiliser Button Wizard. Dans TNCR, un assistant de création de boutons est utilisé pour créer un
bouton sur lequel l'utilisateur peut cliquer pour déclencher
une action
ou un événement spécifique dans l'application GI L'assistant de création de boutons est fourni avec
plusieurs options configurables, vous
permettant de personnaliser
son apparence et son comportement. En une seule phrase,
nous pouvons déclencher n'importe quelle action ou événement à
l'aide d'un bouton. Si vous parlez d'extension de l'
assistant de boutons, sinon de propriétés, il
inclut la propriété du texte, la propriété commande dans la propriété de
hauteur, la propriété arrière-plan du premier plan, la propriété police et la propriété
d'état En utilisant la propriété du texte, nous
pouvons afficher l'étiquette sur le bouton et en utilisant la propriété de
commande, une fonction ou une méthode à
exécuter lorsque vous
cliquez sur le bouton En utilisant la hauteur, nous pouvons définir la taille
du bouton. À l'aide du forgon et de l'arrière-plan, nous pouvons définir la couleur oubliée et la couleur d'
arrière-plan du bouton Si vous souhaitez définir
le texte du bouton, dans ce cas, vous devez
utiliser la propriété de police. Ensuite, nous avons la propriété de l'État. Nous pouvons définir l'état
du bouton. Cela peut être normal,
sinon désactivez-le, et normal est le mode par défaut. Passons maintenant à l'aspect pratique et voyons comment
utiliser l'assistant de boutons. Comme vous pouvez le voir, nous sommes dans mon
éditeur de code Wizard Studio, et dans un premier temps, je vais importer notre module
TK, un certain type,
import, TK incur en tant que TK Sinon, si vous
souhaitez importer tous les pompons, vous pouvez importer start. Maintenant, nous devons
définir une fonction, une fonction à appeler
lorsque le bouton est enfoncé. Pour cela, je vais taper DV et le
nom de notre fonction est button kick Sinon, cliquez sur le bouton « semaine ».
Bouton de soulignement. Dans le RoundResf maintenant, je ne vais
passer aucun paramètre, puis dans la fonction, je vais imprimer un niveau Je vais afficher un niveau. Ici, je vais
taper level point config. À l'intérieur de la robe, je
vais passer le texto. Texte équivalent à un clic sur un bouton. Vous pouvez maintenant voir qu'il
affiche un avertissement car nous ne
définissons pas cette variable. Ne t'inquiète pas Je vais définir
la lettre variable. Ensuite, après avoir créé la fonction, nous devons créer
la fenêtre principale. Donc, pour déclarer la racine égale
à la fonction TK TK. Cela va
créer un objet TK. Ensuite, je vais
définir un titre. Donc, pour taper root GOT title, à l'intérieur des robes rondes, à l'intérieur des doubles
goodes, je vais
taper un exemple de bouton Tinker Ensuite, je vais définir
la géométrie de cette fenêtre. Pour cela, je vais
taper root point Geometry. Géométrie des points à
l'intérieur des bretelles rondes. Ici, je vais
définir 300 par X 200. Ensuite, nous devons
définir le niveau. Je vais déclarer
la variable de niveau. Niveau égal à l'étiquette à points T. Ensuite, dans le cadre du processus de sélection, je veux exécuter ce niveau
dans nos fenêtres racine. Je vais taper le nom de la
fenêtre root. Ensuite, nous devons transmettre le texte. Texte égal à ici
que je vais taper, appuyer sur le bouton « be » puis je
vais déclarer la police. en faire deux à
l'intérieur des presses rondes, je veux utiliser une police aérienne De plus, nous devons
déclarer la taille de la police, je vais
donc passer 14 pixels. Donc, pour créer cette étiquette, vous devez
également emballer cette étiquette. Pour cela, je vais taper
label point PAC method, pack. Je souhaite également définir un certain
rembourrage dans la direction YxS. Je vais taper pad, Y, dix pixels, sinon,
dix points. Pour exécuter l'application, je vais définir
la boucle principale. Je vais taper
root point main loop. Et avant de définir
ce fichier et d'exécuter ce code dans mon terminal,
comme vous pouvez le voir, ici, nous devons taper TK K
en minuscules, celui-ci. Et je vais configurer à
nouveau ce fichier et exécuter ce
code dans mon terminal. Après avoir exécuté ce code
dans mon terminal, vous pouvez voir la fenêtre. Appuyez sur le bouton ci-dessous. Ici, nous ne créons pas encore
le bouton. Je vais maintenant créer
le bouton sous le texte. Pour cela, je vais utiliser
l'assistant des boutons. Dans un premier temps, je vais définir
une variable appelée button,
button égal à PK Dart
button, button Nub Ensuite, à
l'intérieur des boutons,
nous devons d'abord définir la fenêtre dans laquelle
je veux afficher le bouton Dans notre cas, root. Ensuite, nous devons définir le
texte, le texte du bouton. Tapez automatiquement du texte, égal à
l'intérieur du double bureau, puis cliquez sur M. Cliquez sur Moi. Ensuite, nous devons définir la
commande, la propriété de la commande. Commande égale à, ici nous
devons appeler la fonction. Dans le cas contraire, l'événement.
Comme vous pouvez le constater, nous créons déjà un événement et nom de
notre événement se trouve en cliquant
sur le bouton. Hémotype sur le bouton de soulignement
. N'oubliez pas que lorsque vous appelez cette
méthode otherwise function, vous n'avez pas besoin de fournir
d'accolades, vous devez appeler
le nom de la fonction Après la virgule, vous
pouvez définir la police. Fonte de type Hemo. Dans la citation, je
vais utiliser la police Aerial. Aérien. Afra coma, je veux définir la taille de police,
donc je vais passer 12 Ensuite, je vais dire la couleur de
fond, BG. Pour la couleur de fond, je
vais utiliser le bleu clair. Nous définissons ici la couleur de
fond. Ensuite, je vais
définir le forron color AG. Pour la couleur ronde, égale à, et je veux attribuer cette couleur à la couleur de la
pièce. Et comme vous le savez, après avoir
créé le bouton,
vous devez également l'emballer en
utilisant la méthode pack. Ici, je vais
taper button dot, pack. Et si vous souhaitez ajouter du
rembourrage, oui, vous le pouvez. Ici, je vais taper le pad Y. Je veux fournir un
rembourrage dans la direction YX, et ici je vais
passer 20 pixels Je vais configurer ce fichier. Maintenant, vous vous
demandez peut-être à quoi va servir notre
bouton en
gros ? En gros, lorsque je
clique sur ce bouton, il remplace le texte de
cette étiquette. Il va appuyer sur
le bouton en dessous,
ce bouton de texte a été cliqué car ici j'ai configuré
cette étiquette dans cette fonction Maintenant, sauvegardons le fichier et exécutons ce code
dans notre terminal. Après avoir exécuté ce code
dans notre terminal, comme vous pouvez le voir dans notre fenêtre, nous avons le bouton, et le nom de notre
bouton est click me. Ensuite, si je clique sur ce bouton, laissez-moi vous montrer, comme vous pouvez le voir, qu'il a remplacé le texte. Je remplace par un
clic sur un bouton car cela
a déclenché la fonction. Il s'est déclenché lors d'un
clic sur un bouton, et notre fonction a
configuré ce texte. Ensuite, je vais vous
montrer
comment utiliser cet assistant de boutons
avec un assistant de cadre ? Comment insérer le
bouton dans le cadre ? Pour cela, je vais créer
un cadre après cette étiquette. Et le nom de notre cadre est cadre de soulignement
du cadre à boutons, égal à la méthode du
cadre à points TK, cadre. Ensuite, à l'intérieur du
laiton rond,
nous devons d'abord fournir la fenêtre dans laquelle je
veux afficher ce cadre, qui est root, puis vous devez définir la couleur de
fond, BG Le fond est égal à, et je
veux dire, couleur gris clair. gris clair Ensuite, je vais définir le
style de bordure sm type relief. relief est égal à TK, et je vais utiliser
Raised celui-ci. R Je vais mettre une
bouteille avec une bordure, et je vais la régler aussi. Ensuite, nous devons également emballer
ce type de cadre inférieur : bouton, cadre, point, méthode d'emballage. Ensuite, à l'intérieur du soutien-gorge rond,
il est écrit : abord, je vais
fournir un rembourrage Y, pad, Y, Padi égal à 20,
virgule, puis je
vais régler un Padix égal à 20. Ensuite, je vais
le remplir et ensuite je vais
remplir celui-ci. Sentez-vous à la hauteur du chanvre pour les deux. La prochaine propriété que je
vais utiliser expand, expand, equal to true. Si j'exécute ce code
dans mon terminal, comme vous pouvez le voir, il créera
le cadre et nous
devrons le cadre et nous déplacer ce bouton à
l'intérieur de ce cadre. Pour cela, dans notre assistant de boutons, nous devons transmettre le nom du cadre du
bouton. Cette fois, je ne
vais pas passer root. Je vais remplacer root
par ce cadre de boutons. Je copie donc le nom du puits, je vais le coller ici et je vais
définir ce fichier. Si je définis ce fichier et
que je code mon terminal, comme vous pouvez le voir, cette fois, il ajoute le bouton
dans ce cadre. Et si je clique sur ce bouton, comme vous pouvez le voir, cela fonctionne
toujours. Voici donc comment nous pouvons utiliser l' boutons avec l'assistant de cadre. C'est donc tout pour ce tutoriel. Merci d'avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel.
10. Widget d'entrée Tkinter: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un nouveau tutoriel lié à Kinter Wizard Aujourd'hui, dans ce
tutoriel, nous allons apprendre l'assistant de saisie. C'est l'un des magiciens les plus
importants de Kinter. L'assistant de saisie de
Kinter est utilisé pour
accepter la saisie de texte sur une seule ligne par l'utilisateur Il est couramment utilisé
pour saisir des noms, des mots de passe, des e-mails, des
numéros, etc. Si je parle de sa syntaxe, vous devez taper l'entrée du nom de la
méthode, puis vous devez
réussir le test. Je veux dire le nom du continent
parent sur lequel vous souhaitez inscrire l'entrée, puis vous
devez passer l'option. Options permettant de configurer
les paramètres pour personnaliser la visite,
tels que la police, les mauvaises herbes, l'
arrière-plan, le premier plan, la
justification du récif, etc. Si je parle des options de visite
d'entrée, vous pouvez utiliser l'arrière-plan, le
premier plan, la police, désherbage, l'affichage, cela sert
à masquer les caractères, comme pour le mot de passe, nous utilisons le signe astrologique Prend ensuite la variable
qu'elle est
associée à une variable inter-chaîne
pour définir et valider les valeurs. Ensuite, nous avons les États. Vous pouvez le passer normalement,
divisible ou aléatoirement Ensuite, vous deviez le justifier
à des fins d'alignement, vraiment pour le
style de bordure, et enfin, nous avons V pour contrôler l'
épaisseur de la bordure. Commençons par l'
aspect pratique et voyons comment utiliser l'assistant de saisie. Comme vous pouvez le voir, on minimise
l'éditeur de code du studio. Tout d'abord, j'importe
le module kinder. Ensuite, je crée la classe T. Ensuite, je crée la fenêtre principale. Ensuite, j'attribue un
titre, exemple d'assistant de saisie. Vous définissez ensuite la géométrie de la fenêtre
à 300 et à 200 de hauteur. Ensuite, nous lançons
la boucle principale de l'événement. Chaque fois que nous transmettons des données dans notre champ de saisie, nous
devons les enregistrer. Pour cela, nous avons besoin d'
une variable de chaîne. Ici, je vais déclarer une variable appelée
name underscore Y. Nom égal à, je vais
définir une variable de chaîne
. String v. C'est ça. Fondamentalement, la variable
string est une classe de variable kinker Il est utilisé pour lier dynamiquement l'assistant de saisie
à une variable. Créons maintenant un assistant de
saisie dans Owindo. Je vais taper une entrée. Entrée égale à ici, je vais dire que l'
entrée est une entrée de classe. Ensuite, à l'intérieur du
rond, il est dit, d'abord nous devons définir, je veux
dire le conteneur parent Dans notre cas, c'est root. Après cela, je vais utiliser l'option appelée variable de texte. Tapez donc variable de
texte, variable de texte égale à ici
que je vais attribuer avec cette variable appelée
nom ou variable de nom. Puis une virgule, à la ligne suivante, je vais définir la police Ici, à l'intérieur de la basse ronde, je vais attribuer une police aérienne et
définir la taille de police, donc je vais passer 40. Ensuite, après la virgule, nous
devons attribuer avec. Je vais lui attribuer
un pass 25. Ensuite, je vais attribuer
à Round Color AG. Pour le tour, je vais
utiliser la couleur bleue. Après cela, je vais
attribuer la couleur de fond, BG. Pour BG, je vais attribuer du jaune
clair au jaune clair. Ensuite, je vais
attribuer une justification parce que je dois l'
aligner et le centrer. Puis une virgule, elle, nous devons définir le
style de la bordure Alors tapez relief. relief est égal à celui des cheveux, je vais utiliser Grove Value. Dans le cadre du double parcours,
je vais réussir à grandir. Ensuite, nous devons définir
l'épaisseur de la bordure, certains types B, D, épaisseur de
bordure égale à deux. Et je vais configurer ce fichier. Ensuite, après avoir créé
l'assistant de saisie, nous devons emballer
l'assistant de saisie. Tapez donc la méthode Entry Dot
Pack, pack. À l'intérieur de la zone ronde, je vais utiliser le pad
Y avec le pad Y, et je vais passer le 20 En gros, il
contient l'assistant de saisie et ajoute un
rembourrage vertical autour de celui-ci, et j'ajoute 20 bits de rembourrage Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, vous pouvez voir l'
assistant de saisie dans cette fenêtre. Il s'agit de l'assistant de saisie. Maintenant, ici, vous pouvez passer n'importe quel texte tel que nom,
mot de passe, peu importe. Maintenant, créez l'assistant de saisie, nous devons créer
une fonction
capable de lire l'entrée. Vous devez également
créer un bouton. Et chaque fois que vous
appuyez sur le bouton, cela va à l'entrée. Créons donc la fonction qui va lire l'entrée. Alors emballez-le, tapez Sol, Dave, et le
nom de notre fonction est display. Afficher le trait de soulignement. C'est l'entrée et
à l'intérieur des robes rondes, je ne vais pas faire
valoir d'argument, et ici je vais imprimer,
imprimer Le texte saisi est le
mottter du cours Doble Ensuite, nous devons obtenir
la valeur à partir de la variable
name, nom de
type où
point Gate Mathub est pointé. Nous saisissons d'abord n'importe quel texte dans ce champ de saisie
et il sera stocké dans cette variable de nom. À partir de cette variable de nom, nous allons
extraire les données à l'aide cette fonction et ici nous utilisons la méthode de porte
pour extraire les données Maintenant, créons un bouton
qui affichera l'entrée. Pour cela, pour taper
le bouton à l'intérieur des rondes, je vais d'
abord fournir
le master, qui est root. Après cela, attribut de texte, et
je vais taper, je vais le
définir, afficher la saisie. Ensuite, je vais
passer la commande. Commande, chaque fois que
j'appuie sur le bouton, elle commande
cette fonction, affiche l'entrée, affiche l'entrée, et nous devons également la regrouper sur le type point pack. Je
vais attribuer un petit rembourrage au pavé
directionnel YX, Y t. Je vais définir ce fichier Ainsi, chaque fois que je clique sur ce bouton, la fonction de saisie d'
affichage est appelée et cette fonction affiche l'
intégralité du texte dans la console. Définissez donc ce fichier. Si j'exécute ce code
dans mon terminal, nous avons le
champ de saisie, et ici, je vais taper mon nom, et je vais cliquer sur
ce bouton, Afficher la saisie. Si j'appuie sur ce bouton, vous pouvez
maintenant voir dans ma
console que mon nom est imprimé. Si vous souhaitez utiliser ce champ de
saisie pour le mot de passe, vous devez
dans ce cas
masquer ces caractères. Pour cela, vous devez
utiliser un autre paramètre, sinon une autre option
appelée show. Laisse-moi te montrer. Ici, après cela, je
vais utiliser un autre
paramètre appelé Show. Donc, comme dans
le double cours, je vais utiliser le caractère étoile, étoile, et ici je vais
passer une virgule
pour définir ce fichier Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal. Maintenant, si je tape quelque chose dans ce
champ de saisie, comme mon nom, vous ne pouvez voir que
le caractère étoile. Cela s'est produit à cause
de ce paramètre, et si j'appuie sur Entrée, vous pouvez voir le test
dans mon joint de consommation, mais vous ne pouvez pas lire les
données dans ce champ de saisie. Voici donc comment nous utilisons ce champ de
saisie pour le mot de passe. Pour l'instant, je vais recommander cette ligne et redéfinir
ce fichier. De plus, si vous souhaitez afficher
la mise à jour en direct dans votre
interface graphique, vous le pouvez. Pour cela, vous devez utiliser l'assistant
d'étiquetage. Laisse-moi te montrer. Tout d'abord, je vais taper
un seul commentaire ici, étiquette qui
indique également ce qu'est le type. C'est une mise à jour légère. Je
vais créer une étiquette. Label label égal à, je vais utiliser
Label Wizard, label. Ensuite, à l'intérieur des rondresses , nous devons d'
abord
passer le muster, qui est la fenêtre racine, puis nous devons transmettre
la variable de texte Texte, variable, cheveux, je suis une
passe ou un membre variable, qui est un nom ou un prénom ou. Atocoma
définiriez-vous la police. Police, je veux utiliser une police aérienne. Avec cela, ma taille de police est de 40. Atracoma définit également
la couleur précédente,
AG au premier plan et la couleur de notre Et je vais sous-traiter ce fichier. Après cela, vous
devez également étiqueter cette étiquette. Pour cela, je vais taper
label dot pack. Dans le cadre du processus rond,
je vais également demander
un petit rembourrage dans la direction
YxS, un rembourrage de
dix pixels . Je
vais configurer ce fichier. Après avoir défini ce fichier,
exécutons le terminal d'inode de code. Après avoir lancé le terminal d'
inode à code, si je tape quelque chose
dans notre champ de saisie, laissez-moi vous montrer mon
nom, sinon bonjour tout le monde Vous pouvez voir que chaque fois que
je tape du texte, sinon n'importe quel caractère,
il imprime le texte dans notre fenêtre à
l'aide d'une étiquette. Tout cela est basique à
propos de Entry Wizard. J'espère que c'est clair pour toi maintenant. Merci d'avoir regardé
cette vidéo,
restez connectés pour le prochain studio.
11. Widget de texte get: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un autre assistant lié au tutoriel. Et aujourd'hui, dans ce tutoriel, nous allons
aborder l'assistant de texte. Il est utilisé pour la saisie multiligne. Dans le cas contraire, cet objectif. L'assistant de texte de
Kiner permet à l'utilisateur de saisir ou de saisir
plusieurs lignes de Il ressemble à un champ de
style bloc-notes et prend en charge le formatage avancé, les
balises et le défilement Si je parle de
sa syntaxe,
nous devons d'abord définir une
variable dans notre cas, l'assistant de
texte, puis nous devons utiliser cette
classe de texte. Ensuite, dans la rondeur, nous devons passer le test, je veux voir la fenêtre principale, puis nous devons passer les
options en paramètre Si je parle de ses options, sont toutes des options que nous allons utiliser dans le studio,
telles que la hauteur, l'
arrière-plan, le premier plan, la
police, l'enroulement, le
padaxPadi, le relief, la bordure
avec Nous connaissons déjà la
plupart des options. Commençons par l'
aspect pratique et voyons comment utiliser Text Wist. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de mon studio
utilisateur, et je crée déjà une
fenêtre de base en utilisant la classe TK, et nous avons dit géométrie 400 x 300. Si vous voulez l'augmenter
, oui, vous le pouvez. Et si vous voulez
changer de dimension,
oui, c'est possible, c'est à vous de décider. Maintenant, commençons par
créer l'assistant de texte. Par exemple, si nous allons
prendre une variable et notre variable est
du texte, le texte est égal à je vais
appeler text class, celle-ci. Ensuite, à l'intérieur du rond, pour d'
abord passer le test
et savoir qui est root, je veux le
placer dans une fenêtre root Ensuite, je vais
passer les options. Tout d'abord, je vais passer une hauteur, hauteur
égale à t, une virgule À la ligne suivante, je
vais définir le mariage. Avec une largeur égale
à l'ourlet, attribuez 40. Ensuite, je vais
utiliser une police, une police. Ici, je souhaite utiliser la police Aerial. Donc, à l'intérieur du round
plutôt l'intérieur du double code, je
vais taper AL. Aérien et je vais
passer la taille de police 12. Ensuite, je vais
définir pour la couleur ronde, G, G égal à deux dans
le double code. Je vais passer la couleur bleue. Bleue. Ensuite, je vais définir la
couleur de fond en utilisant BG, BG. Ici, je vais dire que
c'est la couleur de fond, jaune
clair, jaune clair. Après avoir défini la couleur de
fond, je vais utiliser une autre
propriété, le rap. Rap, rap, c'est comme ça que je vais terminer avec un
mot, un mot dactylographié. Ensuite, je vais
changer le style de bordure. Pour cela, je vais
me soulager. Soulagement. Dans le cadre du double
cours, je vais utiliser le cours en groupe. Virgule. Ensuite, je vais
utiliser bordure avec, bordure avec, je
vais définir deux. En résumé, nous devons
choisir trois options. Aucun, personnage et mot.
Ensuite, nous devons le suivre Pour cela, nous devons
taper du texte, un point, un pack. À l'intérieur du bris rond,
je vais également attribuer
un peu de rembourrage, type pad Y, 20 pixels Sinon, dix pixels,
c'est à vous de décider. Je vais donc configurer ce fichier. J'ai configuré ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant voir à quoi ressemble
notre assistant de texte. Ici, nous pouvons transmettre du texte
multi-line-up. Et si vous souhaitez obtenir le texte et l'afficher
dans votre terminal, dans ce cas, vous
devez créer un bouton. En outre,
vous devez définir une fonction qui va extraire le texte. Alors faisons-le. Ici, je vais
créer une fonction, Dave et le nom de notre fonction
est « Afficher le texte souligné ». Afficher le texte, pour
l'instant, ne prendra aucun argument, puis
dans cette fonction, nous devons obtenir le texte. Pour cela, nous allons utiliser méthode
Git, un certain type de contenu, contenu égal à text point Gate. Ici, nous utilisons la méthode Gate
pour obtenir le texte. Ensuite, à l'intérieur des robes rondes , nous devons
maintenant
définir l'index. Nous allons commencer à
partir de quel index nous allons sélectionner le texte. Ici, je vais le sélectionner
dès le début. Je veux dire le début
de l'index. Je vais donc passer
dans le double parcours, je vais passer la version 1.0. Ensuite, après la virgule, à
l'intérieur du double
plan, je veux aller jusqu'à la
fin du caractère Alors passe, passe la fin. Ici, un représente la ligne un et zéro
représente zéro caractère. Cela signifie le début de l'index. Si vous sélectionnez deux caractères,
vous passez la ligne numéro deux et si
vous modifiez la valeur zéro, supposons trois, puis
à partir de la ligne numéro deux, le troisième caractère sera saisi. Maintenant, nous devons imprimer
les données dans mon terminal. Alors tapez print et à l'intérieur
du roundresshir, je vais donner un pourboire Inside the
double course, user input Entrée utilisateur ici, acoma, je vais
passer la variable Certains types étaient contenus et
nous devons maintenant créer un bouton. Chaque fois que nous appuyons sur le bouton, le texte s'affiche dans mon terminal. Ici, je vais
créer un bouton et à l'intérieur des presses rondes, nous devons d'
abord fournir
le muster qui est root Ensuite, nous devons fournir du texte, du texte du
bouton, du texte
égal pour afficher le texte. Ensuite, nous devons passer la commande qui va
déclencher la fonction. commande égale au nom de notre
fonction est show text, show under scode Ensuite, je vais l'emballer, l'emballer et, dans l'adresse ronde, je tape pad Y, pad Y, dix pixels, et je vais définir ce fichier Mais avant d'exécuter ce
code dans mon terminal, nous devons apporter quelques corrections car nous n'avons pas besoin de le
mettre dans un double code. Nous devons supprimer le qd
de ces doubles codes, et je vais définir ce fichier Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal et que je mets du texte factice
dans cette zone de texte. Et cliquez sur un texte court. Maintenant, vous pouvez le voir imprimer les données
exactes, nous les collons ici. Il imprime le
paragraphe multilien dans mon terminal. Maintenant, le problème
est que nous n'avons aucun mot de défilement dans
cet assistant de texte. J'ai besoin d'une barre de défilement. Pour cela, nous devons créer
la barre de défilement. Créons cette barre de défilement. Avant l'assistant de texte, je vais
définir
ici la barre de défilement Certains tapent un
nom de variable scroll, scroll, scroll, égal à scroll, égal à scroll, égal à barre de défilement. Faites défiler et à
l'intérieur des robes rondes, nous passons le test, où nous allons
placer cette barre de défilement,
qui est placer cette barre de défilement,
qui Ensuite, nous devons emballer
cette barre de défilement. Un peu de texte, de parchemin, de point, emballage à l'intérieur des robes rondes, ici, nous devons
définir le côté. Côté, je vais le déplacer sur
le côté droit. C'est vrai. Et nous devons définir
le remplissage, le remplissage, et je veux le remplir
à Y xs. Donc, pour passer Y. Maintenant, créez cette barre de défilement, nous devons définir cette
barre de défilement dans le texte Wiz Pour cela,
définissez ici la racine. Je vais définir la barre
de défilement. Commande de défilement Y. Pour cela, utilisez cette option, la commande Y stroll
égale à l'ensemble de points de défilement. Il va configurer la
barre de défilement sur cet assistant de texte. Définissez ce fichier, et je
vais définir ce fichier. Ensuite, je vais
configurer cette barre de défilement. Pour cela, après avoir intégré
l'assistant de texte, je vais essayer scroll dot
config scroll dot config dans la commande Rundres,
égale à la vue du texte Je vais configurer ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant remarquer
cette barre de défilement Il s'agit de la barre de défilement. Et
si je passe une donnée A à faire défiler, vous pouvez
maintenant voir cette barre de défilement Si je le fais défiler vers le bas, vous pouvez
voir le contenu de la zone de texte. La barre de défilement est très
importante pour Text Wizard. J'espère que vous savez maintenant comment
utiliser l'assistant de texte dans
Kiner. Merci d'avoir regardé
cette vidéo.
Restez connectés pour le prochain
didacticiel utiliser l'assistant de texte dans Kiner. Merci d'avoir regardé
cette vidéo.
Restez connectés pour le
12. Widgets de message: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de
retour avec un autre assistant de restauration lié au
tutoriel Et aujourd'hui, dans ce tutoriel, nous allons
aborder Masses Wizard. Le Masses Wizard est
similaire à l'étiquette, mais conçu spécifiquement
pour les longs blocs de texte, contrairement à l'étiquette. J'encapsule le texte automatiquement. qui le rend idéal pour ce type de texte statique
multiligne comme une instruction ou un avertissement. Si j'en parle de syntaxe, vous devez utiliser ce message de
méthode, puis d'abord, vous
devez définir le maître, je veux dire la
fenêtre dans laquelle vous allez placer
l'assistant de message, puis vous pouvez passer votre texte et ensuite nous passons vos options. Si j'en parle d'options, ce sont toutes des options
que nous allons
utiliser dans Masses Wizard. Avec un fond de police pour le bas, vraiment PadixPadi encore Justify Justify est utilisé pour l'alignement, et encore
pour l'alignement du texte. Commençons donc par la pratique
et voyons comment
utiliser ces options
avec Masses Wizard. Enfin, j'utilise
un éditeur de code de studio. Maintenant, laissez-moi vous montrer comment
nous pouvons utiliser Masses Wizard. premier temps, je vais définir
un message, du texte en masse, certain type, du texte
souligné en masse Les masses de texte sont égales à celles de
l'intérieur du laiton rond, je vais transmettre un message
multiligne Ici, à l'intérieur des robes rondes, je vais taper ce message
multiligne Bienvenue dans le didacticiel interdisciplinaire. Cet assistant de gestion des masses enveloppe
automatiquement le texte
long et ajuste la
hauteur pour alimenter le contenu Ensuite, nous allons
utiliser le magicien des masses. Pour cela, nous devons définir
une variable MSG dans notre cas. Égal au message. Masses Wizard, puis dans le RounderSSF, nous devons définir la fenêtre dans laquelle nous allons placer notre
magicien des masses, qui Ensuite, nous devons
définir le texte. Texte égal à l'endroit où je vais
transmettre le texte variable du message. Ensuite, je vais
définir le cannabis. Nous, je vais définir 300, ensuite, je vais définir la police. La police était faite, je
veux utiliser une police de zone. À l'intérieur des doubles couches, je vais taper la zone et je
vais également définir la
taille de la police, ce qui est un piège. Ensuite, après la virgule, je vais
définir la couleur d'arrière-plan, BG, arrière-plan, et je
vais utiliser le bleu clair Bleu clair. Ensuite, je vais
définir la couleur du fonds par un G, et ici, dans
le double cours, je vais taper du noir. Ensuite, après cela, je vais styliser le
poder. Soly, vraiment Ici, dans le double cours, je vais passer le surélevé, la
virgule, puis je vais
ajouter un petit Tamponnez les œufs, les œufs, dix, également le tampon Y, également dix. Ensuite, nous devons
aligner les masses. Je veux
l'aligner à partir de la gauche, certains types justifient
dans le cours Dufl, je vais taper let value, et je vais définir ce fichier Après avoir défini ce
fichier, nous devons
emballer les masses,
réserver du type
msg masses point pack mthodpack
à l'intérieur de la rondresss, ajouter
également un petit rembourrage, du type pad Y, passant au
pixel .
Je
vais configurer ce fichier. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, laissez-moi vous montrer comment exécuter
ce code dans mon terminal. Ici, il affiche le message. J'espère donc que vous
comprenez maintenant à quoi sert Masses Weizer ? Merci d'avoir regardé cette vidéo, Sadi est là pour le prochain tutoriel
13. Mise en page de l'emballage out: Bonjour, mon garçon. C'est bon
de te revoir. Encore une fois, je suis de retour avec un
nouveau tutoriel lié à Kiner. Et aujourd'hui dans ce tutoriel, nous allons apprendre la gestion de la
mise en page. En gros, Kiner proposait
trois principaux gestionnaires de mise en page :
pack, greed et taste. Et vous pouvez également imbriquer des mises en page
en utilisant un cadre à l'intérieur des cadres. Et aujourd'hui, dans ce tutoriel, nous allons
apprendre la mise en page des packs. Maintenant, la question est de savoir quelle
est la disposition des packs dans Kinder ? Le
gestionnaire de géométrie du pad est l'un des moyens
les plus simples de
positionner l'assistant dans une aile. Il
organise automatiquement l'assistant les uns par rapport aux autres dans l'une
des quatre directions suivantes : haut, bas, gauche ou droite. Si je parle d'une syntaxe de base, nous devons taper des assistants. abord, nous devons taper
la variable d'assistant a, puis nous devons utiliser
point PAC, cette méthode. Ensuite, à l'intérieur du rond, les
versets doivent passer les options telles que PadixPady,
side, etc. fill. Si je parle de ses options, ce sont toutes des options
fournies avec la mise en page du pack. Side, fill, expand,
padix et pad Y. Dans l'option intérieure, nous pouvons
transmettre un total haut est la valeur par défaut, puis le bas, la gauche ou la droite. Ensuite, nous avons le remplissage. Il va étendre Wizard pour remplir l'espace. Il peut le remplir en s ou en yxS ou les deux. Ensuite, nous devons étendre. Cela permet à
l'assistant de s'étendre pour occuper tout espace supplémentaire dans
le master de géométrie. Ensuite, nous avons Padix et Padi, et nous les
connaissons déjà Commençons par l'aspect
pratique et voyons comment nous pouvons utiliser padayout Comme vous pouvez le voir, nous sommes dans l'éditeur de code du studio
Magazines, et je crée déjà un fichier
Python main point py et nous créons ici la mise en page de base avec
une dimension de 300 x 200. Et je fais tourner la boucle principale. Maintenant, je vais
ajouter quelques boutons. Il s'agit du premier nom du
bouton BTN One. BTM un est égal à, je vais utiliser
le bouton de l'assistant. Ensuite, à l'intérieur des
arêtes , nous devons passer le nom principal qui est root, puis je
vais définir le texte d'un bouton, texte étant égal à un cheveu,
je vais taper, je vais taper sa position, qui est le bouton du haut Je vais placer ce
bouton en haut de cette fenêtre. Je vais également fournir
une
virgule entre le nom de la fenêtre et le texte Après cela, je vais
fournir une
couleur de fond, du type BG. Cheveux de fond,
je vais utiliser couleur bleu
clair, bleu clair. Bleue. Ensuite, je duplique
ce bouton, et je vais le
nommer bouton deux, ici et ici, je vais le
nommer bouton de levage. Je vais donc supprimer le
haut et au lieu du haut, je vais taper, lapbutton. Et je vais aussi changer
sa couleur de fond. Je vais le
rendre vert clair. Léger, vert clair. Ensuite, je le duplique à nouveau et je vais appeler
ce bouton bouton trois, celui-ci est bouton, bouton
droit. Et je vais
faire en sorte que celui-ci soit
rose clair . Je vais
configurer ce fichier. Pour configurer ce fichier, je vais
maintenant utiliser
la méthode pack, la méthode pack layout car nous devons le
compresser dans notre fenêtre. Tout d'abord, je vais
emballer le premier bouton,
sous-tapez le bouton BTN, méthode de mise en page à un
point Emballer. Ensuite, à l'intérieur du
rond, il est dit : d'abord,
je vais utiliser le
côté option secondaire et je vais le faire parler Et je vais configurer ce fichier. Changez ce fichier,
bouleversez ce fichier, exécutons le code
dans notre terminal. haut du code, comme vous pouvez le voir, c'est ici que nous
plaçons le bouton du haut. Maintenant, je vais remplir
ce bouton sur Xxs. Pour cela, ici je vais taper fill et je vais le
remplir dans la direction Xxs. Et je vais configurer ce fichier. Bougez ce fichier, si je
réexécute ce code, vous pouvez
maintenant le voir toucher le
bouton dans la direction de X. En gros, il s'étend sur le dessus parce que nous
avons un espace en haut. Maintenant, je vais
ajouter un peu de rembourrage. Pour cela, ici, je vais
utiliser la propriété pad Y. Pad Y. Il va ajouter du rembourrage
dans la direction Y x. Ici, je vais passer dix ans. Je vais configurer ce
fichier. Après avoir défini ce fichier, vous ajoutez mon code
dans mon terminal. Maintenant, vous pouvez remarquer qu'il y a un
peu de rembourrage dessus. Au lieu de dix, je
vais en utiliser 20. Et si j'ai écrit ce
code dans mon terminal, vous pouvez
maintenant remarquer
qu'il fournit une lacune. J'ajoute un pad de 20 pixels à YxS. Du haut, il ajoute un rembourrage de 20 pixels et
du bas, il ajoute
également un rembourrage de 20 pixels Donc pour l'instant, je vais retirer le rembourrage parce que vous le connaissez
déjà Je ne vais pas l'
expliquer ici. Maintenant, je vais
parler d'expansion. Mais avant de parler d'expansion, j'aimerais
vous montrer une autre facette. Je vais
dupliquer cette ligne. Cette fois, je vais
mettre le bouton 2, donc le côté égal à gauche, et je vais me sentir dans
la direction YX. De plus, je duplique cette ligne et je vais emballer le bouton 3. Cette fois, je vais placer
ce bouton sur le côté droit. C'est vrai. Et aussi, je
vais le remplir chez YxS, je vais définir ce fichier Après avoir défini ce fichier, vous avez
saisi ce code dans mon terminal, voici comment nous
appuyons sur notre bouton et
nous étendons nos boutons. Ici, nous développons notre
premier bouton à Xxs et ici nous étendons notre
deuxième bouton et notre troisième bouton à YxS, nous appuyons sur notre deuxième bouton sur le côté gauche et sur notre troisième
bouton sur le côté droit Maintenant, laissez-moi vous montrer un autre
exemple avec Expend. Pour cela, je vais
publier toutes ces lignes. Je vais mettre cette section
dans une commande multiligne. Je tape donc et
je vais déplacer ce code dans cette
commande multiligne. Laisse-moi te montrer. Et je vais
créer un autre bouton. Pour créer le bouton, encore une fois, je vais copier
cette variable de bouton, et je vais la coller ici. Et voici notre premier bouton, et celui-ci est le bouton supérieur. Ensuite, je duplique cette
ligne ou le bouton deux, et je vais
le placer en bas. Je vais également
changer sa couleur. Je vais en
faire une crème légère. Ensuite, je vais
emballer les deux boutons. Pour cela, je vais
taper button, BTN. Pour cela, je vais utiliser
ce bouton, BTN, bouton un,
point, pack, bouton un pack
à l'intérieur des robes rondes Ici, je vais d'abord définir
le côté, le côté, le haut. Je vais le placer en haut. Ensuite, je vais
utiliser la propriété fill,
fail, et cette fois, je veux remplir le bouton
dans les deux sens, dans les deux sens. Il va remplir le
bouton chez YX, c'est aussi xs. Ensuite, je vais m'étendre, étendre, je vais
faire en sorte que cela se réalise. Notre condition d'expansion est donc vraie. Veuillez donc définir ce fichier si j'
exécute mon code dans mon terminal. Voici à quoi ressemble notre
bouton. Remplissez les deux, laissez-les
s'étirer horizontalement
et verticalement et étendez-les à travers le skinter pour étendez-les à travers le skinter pour
partager l'espace supplémentaire
avec cet assistant De la même manière, je vais
emporter un autre bouton. Donc je mets à jour cette
ligne, et cette fois, je ne vais changer que
le côté Je vais en faire un bouton. Remplissez les deux et étendez. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, je vais également
changer le nom du bouton. C'est le bouton 2.
Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, voici à quoi il ressemble maintenant. Maintenant, que se passe-t-il ici ? Les boutons 1 et 2 s'étendent de manière égale pour
remplir l'espace vertical. Remplissez les deux valeurs pour leur permettre de s'étirer horizontalement
et verticalement. Maintenant, laissez-moi vous montrer
la différence entre Expend
Through et Expend Forbs. Pour cela, je vais dupliquer cette section et commenter
avant la ligne. Ensuite, ici, je vais
utiliser fill it at Xxs. De plus, je vais remplir
le bouton deux sur X xs. Cette fois, je vais faire baisser
l'une des valeurs. Je vais faire en sorte que la valeur du
bouton 1 tombe. Laissez-moi vous montrer comment étendre les chutes. Je vais également changer le
côté du deuxième bouton. Je vais le faire parler, et je vais configurer ce fichier. Après avoir défini ce fichier, si j'ai écrit ce code dans mon terminal, vous pouvez
maintenant remarquer agrandir, si j'agrandis la taille de la fenêtre, si j'augmente sa hauteur, vous pouvez remarquer le bouton du haut, je veux voir le bouton un, rester à la même hauteur. Même si vous redimensionnez la
fenêtre verticalement, dirigez, que vous conservez la même Mais le deuxième bouton, sinon le bouton du bas il est pressé verticalement pour
occuper l'espace supplémentaire
lorsque la hauteur de la fenêtre augmente cause d'elle, nous l'agrandissons à vrai dire. Et si je fais baisser la valeur des
deux, laisse-moi te montrer. Si je fais baisser les deux valeurs , puis que je définis le fichier et que j'exécute ce
code dans mon terminal, exécutons le code
dans mon terminal. Maintenant, si j'essaie d'agrandir
la zone de la fenêtre, vous pouvez voir
notre deuxième bouton
et le bouton du haut, tous deux
fixés à leur place. Il reste à la même hauteur. Si je l'augmente, il
reste toujours à la même hauteur. C'est la différence entre expand true et expand false. J'espère que c'est clair pour toi maintenant. C'est tout pour ce tutoriel.
Au prochain tutoriel, nous allons apprendre
un autre exemple de mise en page. Nous allons en apprendre davantage
sur la mise en page en grille. Merci d'avoir regardé
cette vidéo Stuned.
14. Mise en page en grille dans tkinter: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel lié à la gestion de la
mise en page Kinter Et dans ce tutoriel,
nous allons apprendre la mise en
page KinterGrid Une autre question est de savoir ce qu'
est la mise en page KinterGrid ? Le gestionnaire de géométrie de grille
organise Wizard dans
une structure semblable à une grille de tableau à
l'aide de lignes et de colonnes Il vous donne un contrôle précis
sur chaque assistant qui apparaît. Vous pouvez obtenir un meilleur contrôle
si vous utilisez la disposition en grille. Si je parle de sa syntaxe, il s'agit de la syntaxe de base. Nous devons d'abord
transmettre le nom de l'assistant, puis la méthode de la grille à points. À l'intérieur des
cuivres ronds,
définissez d'abord la position de la ligne, puis définissez la position
de la colonne Si nous parlons d'options de grille
courantes, elles incluent row column,
rowspan, column span,
sticky
SpadicPadoy , iPadX En utilisant cette option, nous pouvons placer n'importe quel assistant à n'importe quelle position. Ensuite, si je parle du principal
avantage de la mise en page en grille, elle est préférable pour la mise en page
à partir du style, telle que la connexion à partir d'une
calculatrice, etc. Vous pouvez aligner les assistants
avec précision à l'aide de lignes et de colonnes et les options persistantes permettent d'
aligner l'assistant en lui-même. N'oubliez pas l'une des
règles les plus importantes concernant la disposition en grille. Ne mélangez pas l'emballage et le quadrillage dans le même contenant,
le même cadre ou la même fenêtre. Commençons donc par la pratique et voyons comment utiliser la disposition en grille. Comme vous pouvez le voir, nous sommes dans
mon éditeur de code vis studio et j'ai déjà créé un fichier
Python main point Pi. Dans ce fichier Python, je crée la mise en page de base,
la disposition de base de l'aile Kiner, et ma dimension de mise en page
est de 300 x 150 Maintenant, en utilisant Gridaut, nous
allons créer un identifiant à partir de. Je vais donc d'abord
définir deux labels. Le premier est pour le nom d'utilisateur et second est appelé mot de passe. Tapez des étiquettes à
l'intérieur des robes rondes, je vais passer le nom
principal qui est root Je veux le placer
dans une fenêtre racine. Ensuite, pour définir le texte, texte à l'intérieur des codes doubles, je vais
taper
ici le nom d'utilisateur. la même manière, je
vais dupliquer cette étiquette et après l'avoir
dupliquée, je vais remplacer le
nom d'utilisateur par le mot de passe. Et maintenant, je vais positionner
les mises en page en utilisant du grain. Pour cela, ici, je
vais taper point grit. À l'intérieur de la presse ronde,
nous voulons d'abord définir la ligne. Row, ici, je vais
attribuer zéro. Je veux le placer en position de ligne
zéro. Je souhaite définir la
position de départ de l'ARU dans. Ensuite, pour définir la colonne. Colonne également nulle. X signifie que
cette étiquette va commencer par le coin
supérieur gauche. Ensuite, nous devons définir les types
padex et pervy pad,
X, ten, virgule, pad Y, cinq. Ici, nous l'
associons à cette étiquette. À partir de Xxs, nous attribuons
dix pixels et à partir
de YxS, nous attribuons cinq la même manière, je vais placer
le niveau deux, et je veux le placer
de manière à utiliser la grille et à le placer
à la règle numéro un, mais à la colonne numéro zéro. Le numéro de colonne est toujours égal à zéro. Et je vais configurer ce fichier. Maintenant, pour définir ce fichier, voyons où il va
placer ces étiquettes. Sur cette borne coordonnée, vous pouvez
maintenant voir qu'elle joue
cette étiquette à cette position abord, il joue le nom d'utilisateur à la ligne zéro et à
la colonne zéro, puis il joue le mot de passe
à la ligne numéro un, mais à la colonne numéro zéro. Maintenant, essayez de comprendre
les lignes et les colonnes. Revenons donc à l'écran. Essayons maintenant de comprendre
comment fonctionne la disposition de la grille en ligne et en colonne. Supposons que ce soit toute notre
racine Winto, comme je vous l'ai dit, ligne et le numéro de colonne
en partant de zéro Si j'utilise la ligne zéro
et la colonne zéro, cela
placera l'assistant à cette position, à ce seuil. De même, si nous ne
changeons pas le numéro de ligne,
si je le mets à zéro, mais si nous changeons le numéro de
colonne, par exemple un, alors cet
élément sera placé à cette position. Mais si nous changeons le numéro de ligne, supposons la ligne numéro deux, mais la colonne numéro un, alors l' assistant
sera placé à cette position. Le magicien peut être n'importe quoi. Il peut s'agir d'une étiquette ou d'un
bouton de saisie, peu importe. Supposons que si vous souhaitez positionner un bouton
à cette position, vous deviez transmettre ligne numéro trois et
la colonne numéro trois. Vous pouvez supposer que les lignes fonctionnent dans la direction
x et les colonnes
dans la direction XX. Selon notre code, nous passons notre première étiquette
à cette position. Ici, nous plaçons le nom d'utilisateur et nous plaçons notre deuxième
étiquette à cette position. Ici, nous plaçons le mot de passe, puis nous devons prendre le champ à deux entrées
Kotal L'un est pour le nom d'utilisateur et je
veux le placer à côté. Je veux le placer à
droite de cette colonne. Nous devons donc définir
la position. Pour le premier champ de saisie, je vais placer la ligne numéro
zéro et la colonne numéro un, et pour le deuxième champ de saisie, je vais placer la
ligne numéro un, également la colonne numéro un. Revenons-en au codecateur. Maintenant, après avoir atteint le niveau, je vais
saisir deux champs de saisie. Ici, je vais
taper entry, entry, et d'abord définir
la fenêtre où nous allons placer l'entrée
et je vais passer root. Ensuite, je duplique cette entrée, et je vais placer
notre premier champ de saisie. Comme je vous l'ai dit, je
vais le
placer juste à côté du nom d'utilisateur. Je vais utiliser la méthode de la grille
pour placer le champ de saisie. Tout d'abord, je vais définir la
ligne où notre numéro de ligne est zéro, mais notre numéro de colonne
est la première colonne. Ensuite, je vais
ajouter un petit rembourrage. Je veux ajouter un pad à Y xs, pad, Y, ici, je vais
fournir y pixel. Ensuite, je copie cette section
et je la place ici. Cette fois, je vais placer le deuxième champ de saisie
à côté du niveau deux. Je veux dire
mot de passe. Je veux le placer juste à côté
du mot de passe. Nous devons donc
définir ici la position. Cette fois, je vais
utiliser la première ligne, première ligne et la première colonne, et je vais définir ce fichier. Configurez ce fichier.
Exécutons maintenant le code dans notre terminal. Exécutez ce code dans notre
terminal, comme vous pouvez le voir, c'est là qu'il joue
les champs de saisie, droite du nom d'utilisateur et à droite du mot de passe. Maintenant, permettez-moi de vous montrer une chose. La chose la plus importante, c' est
l'option collante, collante. Mais avant, je vais
réduire certains caractères
du mot de passe. Je vais simplement taper pass redéfinir ce fichier
et réexécuter le code. Vous pouvez maintenant remarquer
l'alignement, l'alignement du contenu. Je veux voir le
texte de l'assistant, un alignement central. Nous devons maintenant aligner le
texte sur le côté droit. Pour cela, nous devons
utiliser l'option adhésive. Essayons de comprendre ce que nous pouvons faire avec les
options persistantes. Essayons de comprendre ce qu'
est une mise en page collante. Maintenant, notre mise en page ressemble à ça. Dans notre colonne zéro
et zéro, nous plaçons nom
d'utilisateur, puis nous
plaçons les frais d'inscription. Maintenant, le problème, c'
est leur alignement. Cet assistant est
aligné au milieu de cette cellule, mais je souhaite le déplacer sur le côté droit. Pour cela, nous devons
utiliser la propriété adhésive. Si nous utilisons l'option persistante, nous pouvons déplacer cet assistant dans cette cellule,
quelque chose comme ça. Ici, nous déplaçons l'
assistant d'étiquetage de ce côté. Je veux dire le bon côté. C'est ce que nous
pouvons faire avec du bâton. Nous pouvons déplacer le magicien
dans cette cellule. En gros, dans la mise en page QuintersGid, chaque cellule ressemble à une boîte, et par défaut, l'assistant se trouve au
centre Cette option
rémanente est utilisée pour connecter l'assistant à un site spécifique. Si vous souhaitez déplacer
l'assistant en haut, vous
devez utiliser TapTaln N est l'abréviation de North. C'est assez similaire avec la carte. Comme vous le savez, le haut de
cette carte est toujours au nord. Alors la face inférieure
est toujours au sud. Et le côté droit
est toujours à l' et le côté gauche
est toujours à l'ouest. Cela fonctionne de cette façon. Vous pouvez également
combiner des directions. Par
exemple, si vous utilisez les deux valeurs ensemble,
par exemple sticky WE, cela la fera s'égarer
horizontalement De même, si vous
voulez utiliser cette valeur, sticky Ns, elle sera
tracée verticalement Et si vous utilisez Ns Ew, la cellule sera entièrement remplie. Revenons donc au code. Encore une fois, je reviens
à mon code de résistance, et cette fois je vais
utiliser cette option Tampon Y plus souple, je vais
utiliser l'option adhésive. Sticky sticky et ici, je vais utiliser la valeur E, E. Je vais copier la même
propriété et la même valeur et je vais les tester dans le libellé deux, et je
vais définir ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant remarquer
qu'il a aligné le texte, qu'il a aligné le texte du niveau côté
droit, et
c'est ce que nous voulons. Créons maintenant
le bouton de connexion. Certains tapent bouton assistant et dans les rondes, d' abord pour définir le
nom de la fenêtre qui est root, puis nous devons passer le texte du
bouton et ici je tape dans le double
cours, je tape login Ensuite, en utilisant la mise en page Greed, nous allons
coller ce bouton. Tapez cupidité à l'intérieur de la robe
ronde, cette fois, je vais utiliser la rangée
numéro deux Forma, je veux étendre l'étendue de ce
type de colonne, et je veux étendre ce bouton jusqu'à deux
colonnes pour en transmettre deux ici. De plus, je vais ajouter
un petit appariement à Y xs, pad, Y, pad, Y, y, je
vais passer mince Maintenant, il va appuyer sur
le bouton jusqu'à deux colonnes. Pour comprendre
ce qui s'est passé en gros, je vais ajouter une
couleur de fond à ce bouton Donc, le texte du bouton, je
vais ajouter le coma, et ici je vais utiliser BG. BG signifie arrière-plan,
et pour arrière-plan, je vais utiliser la
couleur jaune jaune. Je vais
configurer ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal,
c'est maintenant clair pour vous. N'oubliez pas que si nous ne
définissons pas la position de la colonne, mais que nous définissons la position de la ligne, cet assistant placera
cet assistant à zéro colonne. Ensuite, je vais
ajouter de la valeur adhésive,
collante et cette fois, je veux m'étirer. Je veux étirer le bouton horizontalement et je
veux occuper deux colonnes. C'est pourquoi je l'
étends à deux colonnes de spam. Ici, à l'intérieur
des doubles codes pour cela, nous devons passer WE
stretch horizontalement. Après cette
virgule intraproft je vais définir ce cinq Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez voir le résultat
ici. Ici, nous étendons ce
bouton jusqu'à deux colonnes. J'espère que le concept est maintenant
clair pour vous : comment utiliser disposition en
grille pour placer l'
assistant à n'importe quelle position. Dans le prochain tutoriel, nous
allons parler de l'aménagement des
lieux. Merci d'avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel.
15. Mise en page de lieu: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un nouveau tutoriel lié à la gestion des
fenêtres, et aujourd'hui dans ce tutoriel, nous allons
apprendre la disposition des lieux. La question qui se pose maintenant est la suivante :
qu'est-ce que la disposition des lieux ? Le
gestionnaire de géométrie de position est utilisé pour positionner les assistants de
manière explicite à des coordonnées spécifiques
ou à une position prête dans leur assistant parent, comme une racine ou un cadre Contrairement au lieu et à la grille
qui gèrent
automatiquement la mise en page , le placement se positionne
manuellement. Ainsi, manuellement, nous pouvons
positionner nos assistants à n'importe quelle position en utilisant Xxs xs. Si je parle de
sa syntaxe de base, tapez d'abord le nom de l'assistant et nous devons utiliser
cette méthode, place. Ensuite, à l'intérieur du rond, il est indiqué que nous devons définir la
position X et la position YxS. Vous pouvez également utiliser le positionnement
relatif dans la disposition des lieux à
l'aide de ces options. X et Y. Si nous parlons de ses options, il est livré avec l'option sb totale X, Y, LX, Y réel avec
hauteur et ancre. X représente la position
horizontale absolue. Y représente la position
verticale absolue. Le X réel représente la position
horizontale relative. Ici, nous devons transmettre
une valeur comprise entre 0,0
et 1,0 du poids du parent. Mais dans le cas du positionnement
horizontal absolu, nous devons utiliser des unités de pixels. De même, nous avons Y, puis nous pouvons définir la
hauteur de cet assistant en utilisant ces options et
enfin, nous avons une ancre. À l'aide de l'ancre, nous pouvons contrôler l'
endroit où l'assistant est ancré. Voici donc les options que nous
pouvons utiliser avec la disposition des lieux. Si nous comparons avec
d'autres configurations, si vous comparez avec une
grille d'emballage et que vous placez ensemble, PAC est facile à utiliser La grille est également facile à utiliser, mais le lieu n'est pas si facile à utiliser. Nous devons le configurer manuellement. Mais si nous parlons
de contrôle précis, les places ont le dessus. La mise en page en grille est donc l'une des
meilleures méthodes de mise en page de Kiner. Si vous comparez avec
pack and place. Maintenant, quand nous devons
utiliser la disposition des lieux. Lorsque vous avez besoin d'une mise en page
parfaite au pixel
près, vous pouvez utiliser la disposition par emplacement. Lorsque vous concevez
des interfaces ou des jeux personnalisés, vous pouvez utiliser la disposition des lieux. Mais vous devez
éviter de l'utiliser pour des formulaires réactifs ou un redimensionnement
dynamique Parce qu'il ne s'
adopte pas automatiquement. Si nous parlons de l'
ensemble de la conclusion, alors dans la disposition des lieux, vous pouvez
positionner les assistants de manière minimale Il prend en charge le positionnement absolu et
relatif et utilise codage pour contrôler la manière dont la
visite s'aligne sur son point Il peut vous donner un contrôle total, mais il nécessite plus de puissance
pour une conception réactive Commençons par l'aspect
pratique et essayons de comprendre comment nous pouvons
utiliser la disposition des lieux. Enfin, comme vous
pouvez le voir, nous sommes dans mon éditeur de code Visual Studio et nous créons
ici la mise en page de base. Nous avons défini la géométrie 300 x 200. Je vais maintenant
définir un bouton. Je vais donc taper
une variable BTN,
bouton un, bouton un, égale à, je vais
utiliser le bouton Wizard Ensuite, je vais le placer dans
un cadre racine, une fenêtre racine. Après cela, je vais
définir le texte du bouton, le texte. Au lieu du double cours,
je vais taper le premier bouton. Je vais maintenant
placer ce bouton. Je vais placer le bouton
en utilisant la méthode de disposition des lieux. Je vais taper BTN
button point place. Ensuite, à l'intérieur des versets ronds, nous devons définir les
Xs et un axe Y. Comme je vous l'ai dit, X représente la position horizontale
absolue. Donc ici, je vais
taper X égal à, je vais passer 20. À partir du xs, je veux le
déplacer de 20 pixels et à partir
du YxS, je vais le
déplacer de 30 pixels, et je vais sous-traiter ce fichier Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez voir le résultat
ici. À partir des XX, il faut un écart
total de 20 pixels, et à partir des YX, il faut un écart
total de 30 pixels Positionnez précisément n'importe quel
assistant dans notre fenêtre. Maintenant, cet exemple concerne le positionnement
absolu. Permettez-moi maintenant de vous montrer l'exemple
du positionnement relatif. Je vais créer
un autre bouton. Disons que je vais
dupliquer cette section. Copiez cette section et je
vais la coller ici. Alors je vais l'
appeler bouton 2. Je vais également changer
le nom du bouton deux. Maintenant, au lieu d'utiliser des unités
absolues, je vais utiliser des
unités relatives. Laisse-moi te montrer. Ici, je vais utiliser RLX wd. Il représente la position
horizontale relative, et ici nous
devons évaluer entre 0,0 et 1,0 du
pourcentage de poids. À partir des XX, je veux appuyer sur le bouton au milieu
de ce conteneur Donc je passe donc je
vais passer 0,5. la même manière, depuis
le YXS, je souhaite attribuer le bouton au
milieu de cette page Pour cela, tapez RL Y 0.5. Ensuite, vous devez utiliser une autre
propriété appelée ancre. Anchor, et ici je vais
utiliser la valeur centrale. Centre. Au lieu de cela, le code
unique, centre. Après cela,
vous devez également changer le nom du bouton,
c'est le bouton deux. Je souhaite configurer ce fichier.
Après avoir défini ce fichier, si j'exécute ce code
dans mon carminal c'est là que nous plaçons notre
bouton au milieu de cette page Nous plaçons le bouton horizontalement et verticalement au centre
de cette fenêtre. Maintenant, je veux déplacer ce
bouton sur le côté droit. Pour cela, je vais augmenter la valeur du vrai
X. Laissez-moi vous montrer. Maintenant, je vais passer la version 0.8 définir ce fichier et
exécuter à nouveau ce code. Après avoir exécuté ce
code, comme vous pouvez le voir, il déplace
maintenant le bouton
à droite de cette fenêtre. En utilisant cette option, nous pouvons
placer le bouton n'importe où dans notre fenêtre et cela fonctionne
relativement, pas absolument. C'est tout pour ce tutoriel. J'espère que vous comprenez maintenant comment nous pouvons utiliser la disposition des lieux. Merci d'avoir regardé cette vidéo, restez connectés pour le
prochain tutoriel.
16. Dispositions imbriquées (cadre dans cadre): Bonjour C'est bon
de te revoir. Encore une fois, je suis de retour avec un nouveau tutoriel lié à la gestion de la
mise en page Kiner Et dans ce tutoriel, nous allons apprendre les mises en page de
KInternsted La question qui se pose maintenant est la suivante :
que sont les mises en page imbriquées ? Dans Kiner, vous pouvez imbriquer les
cadres les uns dans
les autres et attribuer à chacun d'eux différents
gestionnaires de mise en page, tels que pack ,
grille ou emplacement Cette approche est
utile lorsque vous souhaitez organiser l'interface utilisateur en sections. Appliquez une mise en page différente à chaque section et créez des interfaces complexes, propres et faciles à gérer Si je parle
des avantages des mises en page imbriquées, nous pouvons l'utiliser pour une interface utilisateur modulaire Chaque section est
propre et séparée. Nous pouvons l'utiliser pour une conception
flexible, et il est également très
facile à entretenir. Il est plus facile de lire et de
mettre à jour des interfaces complexes. Mais il y a une
règle très importante dont vous devez vous souvenir. Le voisin mélange, emballe et grille
dans le même contenant. Je veux dire le même cadre, mais vous pouvez utiliser pack dans un cadre et grille
dans un autre cadre. Si vous parlez de
fonctionnalité et d'avantage, la caractéristique la plus importante
est le cadre à l'intérieur du cadre. Il est utilisé pour le
regroupement logique des assistants. Différents gestionnaires de mise en page appliquent une mise en page
différente à chaque groupe, ce qui est idéal pour
la conception, la conception Darbod et les interfaces utilisateur à sections
multiples Étudions la pratique et voyons comment utiliser les mises en page imbriquées Comme vous pouvez le voir, nous sommes dans l'éditeur de code de mon studio
Wizard, et nous créons déjà un fichier Python main point pi et je crée une simple fenêtre Kiner Et j'attribue 400 pixels
et 300 pixels de hauteur. Dans un premier temps, je vais
créer le cadre 1. Je veux dire le cadre supérieur. Comme vous pouvez le voir ici, je prends
un nom de variable top frame et frame égal à deux
top frame égal deux, nous utilisons l'assistant de création de cadres et nous le
mettons dans une fenêtre racine. Ensuite, nous définissons une couleur d'arrière-plan, couleur bleue de
ligne, et nous définissons
une hauteur de cent pixels. Ensuite, nous plaçons ce cadre
à l'aide du pack Pack Math, et je remplis celui-ci à Xxs. Si je définis ce fichier et que j'exécute
ce code dans mon terminal, notre cadre supérieur ressemblera à ça. Revenons maintenant au code. Et maintenant je veux mettre
un texte dans le laboratoire supérieur, et maintenant je vais mettre
un texte dans le cadre supérieur. Pour cela, ici, je vais
utiliser l'étiquette, et je veux placer l'
étiquette dans le cadre supérieur, puis je veux attribuer
le texte à ce cadre, et le texte de notre étiquette est le cadre supérieur. Ensuite, nous définissons une
couleur d'arrière-plan bleu clair
, puis je balise cette étiquette et j'
attribue un petit rembourrage à YxS C'est notre cadre supérieur. la même manière, je vais
créer un cadre inférieur, qui contiendra
une disposition en grille à l'intérieur. Ici, je vais
créer un cadre inférieur. Le cadre inférieur est égal au cadre et je le place dans une fenêtre racine, puis je définis une
couleur de fond gris clair. Ensuite, j'emballe ce cadre
inférieur et je le remplis les deux sens
et je concrétise cette extension. Maintenant, si je définis ce fichier
et que j'exécute ce code dans mon carminal, notre
mise en page ressemble Ceci est le cadre supérieur et
ceci est le cadre inférieur, et vous pouvez remarquer et vous pouvez remarquer le fond de couleur
grise. Travaillons maintenant sur
le cadre imbriqué. Nous allons
placer un cadre à l'intérieur ce cadre inférieur
pour les champs from. Ici, je passe un cadre unique et je
commente un cadre imbriqué à l'intérieur, le cadre inférieur pour les champs de départ Ensuite, je vais
créer un autre cadre,
et le nom de notre cadre
provient du cadre. À partir d'un cadre égal à
elle, utilisez Frame Wizard, puis je le place depuis le cadre
à l'intérieur du cadre inférieur, pas vers la fenêtre racine. J'ai mis ce cadre dans
le cadre inférieur. Ensuite, j'attribue une
couleur de fond gris clair, identique à celle du cadre deux. Ensuite,
j'emballe ce cadre. Ensuite, dans ce NASTTFFrame, je vais ajouter une
étiquette et un champ de saisie utilisant Ici, je crée une étiquette et je place cette étiquette dans
le cadre de formulaire. Et le texte de notre étiquette est le nom, et le fond de notre étiquette
est gris clair. Dans ce cadre de formulaire, nous utilisons
ici la méthode de mise en page en grille
et nous plaçons cette étiquette. Ensuite, nous créons une entrée,
et de la même manière, nous la plaçons dans
ce cadre de formulaire et en utilisant la méthode de mise en page en
grille, nous plaçons, nous plaçons
ce flux d'entrées. Si je définis ce fichier et que j'exécute
ce code dans notre terminal, c'est là que nous plaçons le nom, l'
étiquette et le flux d'entrées. De même, nous devons faire la même chose pour le mot de passe. Et nous apprenons déjà
la méthode de positionnement, comment utiliser les lignes et les colonnes. la même manière,
je vais mettre une autre étiquette et le champ de
saisie pour l'e-mail,
et nous les plaçons tous les deux en utilisant une disposition en grille. Enfin, je vais
ajouter un bouton. Je vais ajouter ce bouton
dans ce cadre de formulaire. C'est donc un excellent exemple
de disposition en grille imbriquée. Et n'oubliez pas que nous ne faisons pas preuve de
cupidité et que nous n'agissons pas ensemble. Je tiens à dire qu'à l'intérieur de
ce cadre de formulaire, nous n'utilisons pas la cupidité
et nous n'agissons pas ensemble Mais vous pouvez remarquer que notre
cadre de formulaire fonctionne avec la méthode pack. Je lie celle-ci
à la méthode pack, mais à l'intérieur, nous n'utilisons pas méthode
pack et la
méthode verte ensemble. Nous utilisons uniquement une grille. Donc, dans un premier temps, nous créons un
premier cadre, le cadre supérieur. Ensuite, à l'intérieur de ce cadre supérieur, nous avons mis un niveau
en utilisant la méthode pack. Ensuite, nous créons un autre cadre. Il s'agit d'un deuxième
cadre, celui-ci est pour le bas et
celui-ci est pour le cadre inférieur. Et j'emballe également ce
cadre inférieur en utilisant la méthode d'emballage. Ensuite, à l'intérieur de ce cadre inférieur, je crée un autre cadre. Mais ici, nous utilisons à
nouveau la méthode pack pour placer le cadre de départ
dans le cadre inférieur. Ensuite, à l'intérieur de ce
cadre de formulaire, nous créons ce formulaire. Mais cette fois, nous utilisons une disposition en grille pour placer l'étiquette, le champ de
saisie et les boutons. Donc, pour définir ce fichier, si j'exécute ce code
dans mon terminal, voici à quoi ressemble notre
mise en page. J'espère maintenant vous faire peur de
ce qu'est la mise en page imbriquée. Merci d'avoir regardé ce
site vidéo pour le prochain chapitre.
17. Widget de bouton de coche Tkinter: Bonjour C'est bon de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel. Et aujourd'hui, dans ce tutoriel,
nous allons
parler de l' assistant de boutons Kiner Check Le bouton de vérification de Kinter permet l'utilisateur d'activer ou de désactiver une
option Cela ressemble à une
case à cocher dans les formes d'onde. Et si je parle de
sa principale caractéristique, elle peut être cochée ou non cochée Si je l'ai cochée, sa valeur devient un et si
je la décoche, sa valeur devient zéro Il est utilisé pour plusieurs options
indépendantes. Il peut également être lié à une
variable pour suivre son état. La variable peut être une variable, une variable de chaîne ou une variable
booléenne Permettez-moi de vous montrer un exemple de
la façon dont nous pouvons l'utiliser. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de
mon studio Visal et ici je crée déjà
une fenêtre Kiner de base Maintenant, dans un premier temps, nous devons définir une variable et notre variable est
agree où Egrewa est égal
à la variable int, Ici, je vais
définir tous les index. Ensuite, je vais
créer un bouton de vérification. Pour cela, je vais
définir une variable et
notre variable est d'
accord, égale à ici, nous devons utiliser le bouton de vérification. Ensuite, à l'intérieur des
presses rondes,
nous devons d'abord fournir le nom
principal qui est root. Dans quelle fenêtre je vais
coller le bouton de vérification. Ensuite, nous devons définir le texte, Stokma je tape, du texte, du texte entre guillemets, je vais passer, j'
accepte ce terme Ensuite, nous devons utiliser le paramètre important
appelé variable. Donc, pour lier une
variable, une variable va stocker l'
état de la case à cocher. Il peut s'agir d'une variable de chaîne
ou les indices sont variables. Dans notre cas, le héros
utilise la variable into, et je vais passer le nom de la
variable a grew. Dans notre cas, si nous
cochons ce bouton de vérification, il va stocker une
valeur et si nous le décochons, il va stocker une valeur nulle Ensuite, nous devons
compresser cette variable. Dans la ligne suivante, j'intègre
cette variable et j'utilise peu de rembourrage. Sur YxS, je
vais définir cette Si je définis ce fichier et que j'exécute
ce code dans mon terminal, voici à quoi cela ressemble. Il s'agit simplement d'un bouton de vérification. Et comme vous pouvez le constater,
nous ne définissons aucune hauteur
à l'intérieur de cette fenêtre. C'est pour ça que ça ressemble à
ça. Nous ne définissons pas la géométrie, et
je n'en ai pas besoin. Ensuite, je vais
définir une fonction qui va afficher la valeur. Pour cela, hemotypetap et nom de
notre fonction Ensuite, dans cette déclaration
imprimée, avais-je utilisé une condition. Si vous êtes d'accord avec un mot ou si vous obtenez une valeur, alors il imprimera de la triche, sinon, il s'
imprimera sans cocher Donc, chaque fois que je coche
cette case, elle en envoie
une dans cette variable. Il obtient donc une valeur. Il va donc imprimer de la triche. Et si je l'ai décochée,
elle remplira la condition et s' imprimera sans
la Et pour exécuter la fonction, il faut
ici utiliser un bouton. Donc, ici, je vais
définir le bouton. Tout d'abord, nous définissons
le bouton, puis nous le
plaçons dans une fenêtre racine, et voici notre
goût du bouton, son état de vérification. Et dans le paramètre commun, j'appelle cette fonction « state », je l'emballe et je
la range dans cette fenêtre. Je vais donc définir ce fichier et exécuter ce code
dans mon terminal. Pour exécuter ce code,
vous pouvez voir la fenêtre ici. Donc, si je clique sur ce
bouton, cochez la case État, comme vous pouvez le voir, il s'
imprime en clair parce que je
décoche cette case à cocher Mais cette fois, si je coche cette case puis que j'appuie sur le bouton, coche État, cette fois, l'impression
est cochée. Parlons maintenant des paramètres
importants fournis avec cet assistant. Si je parle de son paramètre, il est livré avec du texte et
nous le connaissons déjà. Je dois montrer l'étiquette à
côté de la case à cocher. Cela est variable, et nous
connaissons l'utilisation de la variable. Cela va définir l'état de
la case à cocher. Cette valeur active et désactive valeur sur valeur lorsqu'elle est cochée,
et
la valeur par défaut est celle de valeur
lorsque la valeur est déformée et
sa valeur par défaut est zéro Par défaut, il affiche
un et zéro, mais vous pouvez modifier les options. Laisse-moi te montrer. Encore une fois, je reviens à mon code
Visual Studio, et je crée un autre fichier
Python destiné à faire Pi. Je vais maintenant
définir une variable qui contiendra
un état par défaut. Et notre variable est une variable de type giver
et c'est une variable de chaîne. Et par défaut, j'ai dit Valeur, non, et c'est une valeur par défaut. Et maintenant je vais
créer un bouton de vérification sur Valu et du paramètre value. Et je vais transmettre la
valeur oui et la valeur non. Je crée donc ici le bouton de
vérification et je place ce bouton de vérification dans
cette variable appelée agree. Et j'appuie sur ce bouton de vérification dans une fenêtre racine et
je dis ce texte, j'accepte ce terme, puis je définis la
variable agriY comme vous pouvez le voir, c'est
une variable de chaîne Maintenant, la valeur devient oui. Ici, j'ai dit la valeur
« oui » et la valeur « non ». Si nous cochons la case, elle passe oui à
cette variable partout, et si nous la désélectionnons, elle passe
ensuite non, et c'est la valeur par défaut Nous devons donc créer une
fonction qui va
imprimer la valeur
dans notre terminal. Ensuite, je vais
définir une fonction. Et le
nom de notre fonction est show state. Il va imprimer
la valeur actuelle
et ici vous obtenez la
valeur en utilisant la méthode de la porte Porte à points Egywere.
À partir de cette variable, nous obtenons le résultat. Ensuite, nous devons
définir un bouton, ce bouton
déclenchera la fonction. Je définis donc ici le bouton. Ce bouton va déclencher
cette fonction afficher l'état, et le texte de notre bouton
est Vérifier l'état. À l'intérieur de ce bouton, nous
appellerons la fonction qui va imprimer la
valeur actuelle, afficher l'état. À vous de configurer ce fichier, si je lance ce code dans mon aminal maintenant, si je décoche cette
case à cocher et que je clique sur Vérifier l'état, il s'imprime, la valeur actuelle est non car c'est
la valeur par défaut Mais si je coche
cette case puis
que je clique sur ce bouton, vous pouvez maintenant le voir
imprimer la valeur actuelle, oui Si je clique à nouveau dessus,
il affiche « oui ». C'est l'utilisation de la valeur et du paramètre de valeur dans le bouton de vérification. Permettez-moi maintenant de vous montrer
un autre exemple avec plusieurs boutons de vérification. Voici donc notre
fenêtre simple de base, et cette fois, je vais
vous donner l'exemple d'un bouton à cocher multiple. Dans un premier temps, nous devons définir les variables qui
vont contenir l'état. Donc, ici, je vais définir un
total de trois variables. Et aussi, je vais définir
la valeur par défaut, non. Ce sont les trois
variables, Python ware, Java et C plus Y. Et ce sont toutes des variables de
chaîne Et par défaut,
leur valeur est non. Et pour chacune des variables, je vais créer
le bouton de vérification. premier temps, je vais
créer le bouton de vérification pour Python v. Check button, et je le teste dans une fenêtre racine, et notre texte est Python. Alors très bien égal à Python Ware et la valeur est
yes, et Ovalue est no Et ici, nous utilisons la méthode pack
pour emballer ce bouton de vérification. Et j'ai choisi le côté ouest. Je veux dire, le côté gauche, le côté gauche de cette fenêtre. la même manière, nous devons créer deux
autres boutons de vérification. Je définis donc ici deux
autres boutons de vérification pour les étoiles Java et Sitlus Ensuite, nous devons créer une fonction qui
affichera tous les identifiants des boutons de vérification. Je vais donc
définir ici une fonction appelée show selected. Et d'abord, il va
imprimer ce message. Vous aimez ces langues ? Ensuite, il va
imprimer leurs mers. Si vous l'aimez, il
s'imprimera, et si vous ne l'aimez pas,
il s'imprimera, non. Ensuite, nous devons créer un bouton. Ils vont
déclencher cette fonction. Celui-ci. Je vais déclencher
cette fonction, afficher la sélectionner, et je vais définir ce fichier. Après avoir défini ce fichier, si je
lance le code dans mon terminal, vous pouvez voir
ici les options, Python Java et C plus plus À partir de ces trois options,
je vais vérifier Java. Je n'aime pas Python
et C plus plus. Donc, si je clique sur ce
bouton, que je vérifie la sélection, comme vous pouvez le voir sur mon terminal, je commence par imprimer,
aimez-vous ces langues ? Pour Python, c'est un non. Pour Java, c'est oui, et pour C plus,
encore une fois, il imprime, non. Et si je vérifie toutes les valeurs, appuie sur le bouton. Maintenant, tous les statuts deviennent « oui ». C'est ainsi que nous pouvons utiliser
plusieurs boutons de vérification. J'espère que le concept
est maintenant clair pour vous. Et si je parle de
ses cas d'utilisation, il est utilisé pour les termes et
conditions convenus , en sélectionnant des
fonctionnalités ou des préférences, réglant les options, les
notifications par diapositives, le mode fléchette, quotien à choix
multiples avec plusieurs
réponses correctes Ce sont les principales utilisations
de l'assistant de vérification des boutons. J'espère que c'est clair pour toi maintenant. Merci donc d'
avoir regardé cette vidéo, Syuned pour notre prochain studio
18. Widget Radioboutton Tkinter: Bonjour, c'est bon
de te revoir. Encore une fois, je suis de retour avec un nouvel assistant Kinter lié au
didacticiel Aujourd'hui, dans ce tutoriel, nous allons parler de l'assistant de boutons
KinterRadio. Le bouton radio
de Kinter permet à
l'utilisateur de sélectionner une
option dans un groupe C'est comme les
boutons radio dans les formulaires de tableau. Si je parle de sa fonctionnalité clé, elle est utilisée lorsque vous demandez à l'utilisateur de ne
choisir qu'une seule option
parmi plusieurs choix. N'oubliez pas que tous les boutons
radio associés partagent la même variable. Habituellement, nous utilisons une chaîne invariable, et chaque bouton a une valeur unique qui est stockée dans cette
variable lorsqu'il est sélectionné Pour le comprendre clairement,
étudions la pratique. Comme vous pouvez le voir dans mon éditeur de code
Visual Studio, je crée un
fichier Python main point pi et je crée la
mise en page de base du Kindle. Je vais maintenant définir une variable de chaîne
et notre variable est Zenker Zender égale
à une variable de chaîne Ensuite, je vais définir une valeur par défaut pour
cette variable de chaîne. Pour définir la valeur par défaut de cette variable, nous
utilisons la méthode set. Donc Ty Zenda
a défini Round Bess, j'utilise cette dernière valeur
par défaut mâle, puis je vais
créer les boutons radio Je souhaite donner à l'utilisateur plusieurs options pour
sélectionner l'une d'entre elles. Notre premier bouton radio
est destiné aux hommes. Pour créer le bouton radio, tapez d'
abord le bouton radio, puis à l'intérieur des rondes pour passer la fenêtre
dans notre racine de cas, puis vous pouvez définir le texte
de ce bouton radio. Il s'agit d'un texte plat de
ce bouton radio. Vous devez ensuite
définir la variable. Dans notre cas, variable égale à Zender, nous disons également la valeur de ce
bouton radio, qui est masculin Sur ce, j'ai placé ce bouton
radio dans notre fenêtre. Si nous sélectionnons ce bouton radio, il va définir la
valeur de cette variable. Par deiful, vous pouvez le voir, nous utilisons la valeur masculine,
la même vue Je vais maintenant créer un autre bouton
radio pour les femmes. Comme je vous l'ai dit plus tôt, tous les boutons radio partagent
la même variable. Dans notre cas, Zender et chaque
bouton ont une valeur unique. Dans notre cas, homme et femme, et cela est stocké dans une variable lorsqu'
ils sont sélectionnés. Maintenant, je veux peindre la valeur
sélectionnée dans notre terminal. Pour cela, je vais
définir une fonction et notre fonction N
est Afficher la sélection. À l'intérieur des robes rondes ici, j'imprime une sélection de Zender atacma Ensuite, j'obtiens la valeur de cette variable en utilisant la méthode Gate. De plus, pour déclencher la fonction, nous devons créer un bouton. Donc, ici, je vais
créer un bouton, et je vais le
placer dans une fenêtre racine et notre
bouton accepte un envoi. Et ici, en utilisant un paramètre
commun, nous appelons cette fonction, afficher la sélection, et je
place ce bouton dans notre fenêtre. Donc, si je définis ce fichier et que j'exécute
ce code dans notre terminal, exécute ce code dans notre terminal, vous pouvez voir qu'il fournit
deux boutons radio. Par défaut, il sélectionne
le bouton radio mâle. Si je sélectionne
le bouton radio féminin puis que j'appuie sur Soumettre, vous pouvez voir le résultat
sélectionné Zinder femelle la même manière, si je sélectionne le bouton radio mâle et que j'
appuie sur le bouton d'envoi,
maintenant il imprime le Zinder mâle sélectionné Parlons maintenant des paramètres
importants. Si je parle de son paramètre, il est livré avec un total de
six paramètres, tels que la variable de texte, la valeur, la commande, l'état
et l'indicateur activé. À l'aide de la commande, nous pouvons appeler une fonction lorsque la
sélection est modifiée. En utilisant l'état, nous pouvons désactiver le bouton, sinon le bouton
normal. Lorsque l'indicateur est activé, il est
essentiellement utilisé pour l'IE avancée. Maintenant, laissez-moi vous montrer un autre exemple où
je vais
vous montrer comment utiliser plusieurs options avec
une variable partagée. En utilisant une seule variable, je souhaite fournir un
total de trois options, laissez-moi vous montrer comment. Encore une fois, je reviens à mes
visites dans votre éditeur de code, et je crée ici un autre fichier
Python manto point Pi Je vais maintenant
vous montrer plusieurs options avec la variable partagée. Donc, d'abord, je vais définir une variable et je vais définir une valeur par défaut et je vais définir une
valeur par défaut pour cette variable. Le nom de notre variable est donc choice, et c'est une chaîne de caractères, et j'ai défini une valeur par défaut,
qui est l'option 1. Après cela, je vais créer un
total de trois boutons radio. Ici, je crée un total de
trois boutons radio
avec le même choix de variable, et nous proposons des
valeurs différentes pour les
options 1 , 2 et 3. Si vous souhaitez imprimer la valeur, vous devez créer une fonction pour imprimer la valeur
dans votre terminal. Je crée cette fonction et j'obtiens la valeur de ce choix de
variable. Nous devons maintenant
créer un bouton qui va appeler la fonction. Ici, je crée ce bouton. Vous pouvez maintenant remarquer que nous avons au total trois boutons radio
utilisant la même variable, et nous pouvons donc fournir un total de
trois options pour cela. Avant de configurer ce
fichier, je vais modifier l'instruction d'impression. Je vais sélectionner la
fin de l'option sélectionnée. Je vais configurer ce
fichier. Après avoir défini ce fichier, si j'exécute ce code
dans un terminal, vous pouvez voir
ici les options. Si je **** la deuxième option et que j'
appuie sur le bouton Soumettre, vous pouvez voir
l'option deux sélectionnée. Un dimère si je sélectionne
le troisième,
il imprime l' option trois sélectionnée Pour un DIMO, cela fonctionne
pour la première option. Maintenant, vous vous
demandez peut-être à quoi cela sert
de créer un sélecteur de
taille de pizza en l'utilisant Laissez-moi vous en montrer la
démonstration. Dans cet exemple, je voudrais vous
donner le cas d'utilisation pratique de plusieurs boutons radio. Ici, nous allons créer
un sélecteur de taille de pizza. Tout d'abord, je vais
définir une variable et nom de
notre variable est la taille de la pizza. C'est la même chose qu'une variable de chaîne. Ensuite, je veux imprimer une étiquette. Ici, je vais imprimer une étiquette et le texte de notre étiquette est « Sélectionnez la taille de la pizza »
et « Méthode d'emballage J'emballe cette étiquette
dans cette fenêtre. Ensuite, je vais
créer plusieurs boutons radio. Ici, je crée les
multiples radiotans
pour les petites, moyennes
et grandes tailles, et j'utilise la même taille de pizza variable
pour stocker la valeur sélectionnée Après cela, comme vous le
savez, nous devons créer
une fonction qui va
imprimer le résultat
dans notre terminal. Ici, je vais
taper dap show size, imprimer la taille de
pizza sélectionnée point Gate et il va obtenir la valeur
actuelle à partir de
cette variable Vous devez également
créer un bouton qui
déclenchera cette fonction. Je crée donc ici le
bouton qui va
commander cette
fonction indique la taille. Et ici, je passe le texte et pour le texte du
bouton, j'utilise Wade maintenant Pour exécuter ce code
dans notre terminal, vous pouvez voir
ici la fenêtre. Par défaut, il
sélectionne tous les atos car nous ne définissons pas la valeur
par défaut pour cela. C'est pourquoi il sélectionne le petit, le moyen, le grand, le tout. Maintenant, je veux sélectionner uniquement la grande option et
j'en sélectionne une grande. Sélectionnez l'option Grand, si j'appuie sur Water
maintenant, comme vous pouvez le voir sur l'impression de
notre terminal,
sélectionnez-la en grand format. C'est donc l'une des utilisations
du radiobton kinder. Pour créer le
radiobden,
tapez simplement le bouton radio et à l'intérieur de celui-ci, vous devez passer le paramètre Après cela, vous devez
emballer le radiobden. Si j'en parle de cas d'utilisation
courants, il est utilisé pour détecter le sexe, groupe d'
âge ou la sélection de
règles utilisateur. Il est également utilisé pour les quiz
ou les réponses correctes uniques. Également utilisé pour les sélecteurs de thèmes tels que light dark et system. Nous pouvons également l'utiliser pour la sélection de
la langue. J'espère que vous savez maintenant à quoi sert l'assistant des boutons
radio. Merci d'avoir regardé cette vidéo Sdune pour le prochain tutoriel
19. Widget de boîte de liste Tkinter: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel lié à Kiner Advanced Wizard Aujourd'hui, dans ce tutoriel, nous allons apprendre
Kiner Liz box La zone de liste Wizard de Kinder est utilisée pour
afficher une liste d'éléments En gros, il permet
à l'utilisateur de sélectionner une ou plusieurs options. Si je parle de sa principale caractéristique, vous pouvez autoriser la sélection unique
ou multiple. L'élément peut être ajouté, supprimé ou modifié et il est utile
pour afficher les options, le menu, les fichiers, etc. Sans trop parler, permettez-moi de vous donner un exemple. Comme vous pouvez le voir, nous sommes dans mon éditeur de code Salt Studio et je crée déjà une
fenêtre de base en utilisant inter. Dans un premier
temps, je vais
créer une boîte de liste. Pour créer une zone de liste, je vais prendre une variable, qui est LB, least box. liste égale à, nous devons taper List box, puis dans le processus rond, nous devons passer
le nom de la fenêtre dans laquelle nous allons placer la zone de liste dans notre racine de cas. Ensuite, une par une, je vais insérer les données. abord, je vais
insérer son numéro d'index, puis je vais
insérer les données réelles. Ici, je vais
insérer une donnée. taper notre variable
B, insérez un point dans le ronde*****. Tout d'abord, nous devons fournir le
numéro d'index de cette zone de liste Ensuite, nous devons
fournir la valeur. Dans notre cas, Python. De la même manière, je vais en
ajouter trois autres sous forme de données. Voici donc ici pour passer
Java au numéro deux, C plus plus au numéro trois et JavaScript au numéro quatre. Après cela, créez la zone de liste, également dans le pack de liste. Tapez donc b Dernière case point PACK. Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, laissez-moi vous montrer à quoi ressemble
notre zone de liste. Créons maintenant une fonction
qui va imprimer l'
élément de liste Acti sélectionné dans notre terminal Ici, je vais définir une fonction et le
nom de notre fonction est show selection. Ensuite, dans cette fonction, nous devons identifier
l'élément sélectionné. Je voudrais indiquer quel
élément est actif. Pour cela, je vais
définir une variable appelée selected puis
depuis la liste déroulante, nous obtenons l'élément activé Supposons que si je clique
sur C plus, cela devient actif. Il va sélectionner
l'élément actif. Ensuite, je vais
imprimer la valeur de l'élément actif. Ici, je vais taper, imprimer, sélectionner, et je vais
passer la variable, la sélectionner. Ensuite, il ne reste plus
qu'à créer un bouton qui va déclencher
la fonction. Ici, je vais créer un
bouton et je vais le mettre dans une fenêtre racine et notre
bouton s'affiche. Ensuite, si je sous-traite
ce fichier et que j'exécute ce code dans mon arminal sélectionne l'un des éléments de la
liste tels que Java et que je clique sur Afficher Vous pouvez maintenant voir le
terminal imprimer. Java est sélectionné. De même, si je sélectionne Java
Script puis que j'appuie sur Afficher, vous pouvez
maintenant le voir imprimer, JavaScript est
sélectionné. Parlons maintenant du paramètre que nous pouvons
utiliser avec cet assistant. Ce sont les
paramètres que nous pouvons utiliser avec cet assistant,
tels que la hauteur. Ils vont afficher le
nombre de lignes visibles, puis sélectionner le mode. C'
est le plus important. Et il est doté de différents modes de
sélection tels que navigation
unique,
multiple ou étendue. Ensuite, nous avons le fond
et la couleur du forum. Ensuite, nous avons la sélection des exportations. Si je parle des options du mode de
sélection des boîtes de liste, le mode de sélection
détermine le nombre d'éléments que l'utilisateur peut sélectionner et la manière
dont il peut les sélectionner. Si je parle des modes, il est proposé en quatre modes
différents : navigation
unique, navigation
multiple et étendue. Si je parle de leur comportement, un seul utilisateur ne peut sélectionner
qu'un seul élément par Kiki Naviguez. Comme un single, il permet de cliquer, de faire glisser ou de
parcourir la sélection. Multiple. L'utilisateur peut
sélectionner plusieurs éléments en cliquant sur chacun d'eux séparément. Étendre. L'utilisateur peut sélectionner des plages
en utilisant Shift et Control. Nous connaissons déjà le single. C'est une option différée, mais maintenant je vais vous montrer l' option du mode de sélection
multiple. Revenons à l'éditeur de code. Encore une fois, je reviens à mon mangeur de code
Visual Studio et je crée une fenêtre de base
simple premier temps, je vais
créer une zone de liste, LB LB étant égal à boîte de liste et je vais mettre le moins
de cases dans une fenêtre racine et ici j'utilise le
mode de sélection multiple. Nous pouvons maintenant sélectionner
plusieurs éléments de liste. Maintenant, je vais
définir un tableau, sinon une liste, qui contiendra plusieurs langues. Je vais définir un langage variable et insérer cette liste, ici je passe le
nom de plusieurs langages de
programmation tels que Python, Java, C plus plus,
Java Sweep, Go Maintenant, nous devons mettre nom de
tous les langages de programmation dans cette case minimale. Pour cela, nous allons utiliser une boucle
à quatre boucles. Pour Lang dans les langues, puis insérez la boucle Fur ici, nous utilisons la méthode d'insertion Le plus petit point de la case Insérer, d'abord ,
nous devons définir l'index, puis nous devons
définir la langue. Ici, N représente
un indice spécial. Cela signifie ajouter à la fin de la liste et représenter
la langue actuelle. Et cette méthode va ajouter
les éléments de la liste un par un dans cette zone de liste avec
leur numéro d'index. , je vais
étiqueter cette zone de liste, Ensuite, je vais
étiqueter cette zone de liste,
puis b point pack, nous devons créer
une fonction qui va imprimer les éléments
sélectionnés. Pour cela, je vais
définir une fonction, et le nom de notre fonction sera
affiché en mode sélectionné. Ensuite, dans cette fonction, nous devons extraire les indices. Pour cela, je vais définir
une variable appelée indices, des indices égaux à listbox
dot car selection La méthode de sélection des voitures a
écrit un tuple d' indices des éléments actuellement
sélectionnés Ensuite, en utilisant une boucle à quatre boucles, nous devons extraire
les éléments sélectionnés. Je vais définir une
variable d'éléments sélectionnés égale à l'intérieur de
la résine carrée Ensuite, à l'intérieur du
carré se trouve I dans les indices, case point gate I. En gros, il s'agit d'une
compréhension de liste utilisée pour obtenir
la valeur réelle des éléments sélectionnés à partir de la zone de liste Kinker Supposons que les utilisateurs sélectionnent
Python C plus go. Dans ce cas, cela va
stocker les trois valeurs, Python C plus plus, aller et renvoyer le résultat. Ensuite, nous devons imprimer les éléments sélectionnés
dans notre terminal. J'utilise donc cette déclaration imprimée. Nous avons maintenant besoin d'un bouton qui
va déclencher cette fonction. Je crée ce bouton et
je vais configurer ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon carvinal, nous pouvons
maintenant
sélectionner plusieurs éléments Supposons que je veuille sélectionner Go. Sur ce, je veux
sélectionner Java et Python. Maintenant, si je loue le bouton de soumission, vous pouvez
maintenant voir que vous avez sélectionné
Python Java et c'est parti. C'est ainsi que fonctionnait la
sélection multiple, et maintenant vous décidez de
présélectionner les identifiants. Vous pouvez donc le faire en utilisant la méthode de
sélection. Laisse-moi te montrer.
Supposons que par défaut, vous souhaitiez sélectionner
Python et C plus plus. Pour cela, vous devez utiliser méthode de
sélection de points
list Bows, puis vous devrez
transmettre le
numéro d'index , quelque chose comme ça. Ici, je sélectionne zéro
index, c'est-à-dire Python. Je sélectionne également l'indice numéro
deux qui signifie C plus plus. À l'aide de cette méthode,
la sélection est définie. Maintenant, si je définis ce fichier et que j'
exécute ce code dans mon terminal, vous pouvez remarquer qu'il sélectionne
déjà Python
et C plus plus. Maintenant, si je clique sur
le bouton d'envoi, vous pouvez voir dans mon terminal que vous sélectionnez Python
et C plus plus. Vous pouvez également sélectionner
d'autres options avec cela. Supposons que je veuille
sélectionner G et Java. Ensuite, je vais cliquer à nouveau sur
le bouton d'envoi. Ensuite, il imprime
les éléments sélectionnés, Python, Java, C plus plus, go. C'est ainsi que nous pouvons utiliser la
sélection multiple avec la zone de liste. Voyons maintenant comment
ajouter des éléments à une case minimum, comment supprimer des
éléments et
comment supprimer tous les
éléments ensemble. Comme vous pouvez le voir, ici je crée une fenêtre simple et lui
je crée une zone de liste. Dans cette liste, nous avons
deux éléments, Python et Java. Si j'exécute ce code
dans mon terminal, vous pouvez voir le résultat. Dans notre zone de liste, nous avons
deux éléments, Python et Java. Maintenant, je vais créer une
fonction qui va ajouter, ils vont ajouter un nouvel élément de
liste à cette liste. Mais avant de
créer un champ de saisie, ils vont prendre l'entrée. Ici, je crée une entrée de champ de saisie, nous la plaçons dans une fenêtre racine et nous emballons ce champ de saisie. Ensuite, je vais
définir une fonction et notre nom de fonction est Dave at IT. Ensuite, dans cette
fonction, je veux extraire la valeur
de cette entrée. Dans cette fonction,
je vais définir une variable appelée IM. Et article égal à la porte
d'entrée. Ainsi, quelle que soit la valeur que vous
passez dans ce champ de saisie, nous pouvons stocker cet
élément variable dans cette fonction. Ensuite, nous devons
définir une condition IP. Si notre champ de saisie n'est pas vide
, tapez l'élément I, s'il n'y a pas de
valeur dans cet élément, alors dans cette condition IP, je souhaite insérer l'
élément dans la zone de liste. Pour cela, tapez la méthode d'insertion de points dans la
zone de liste. Tout d'abord pour définir la fin,
puis pour définir l'article. E représente le numéro d'index. suffit d'insérer l'élément dans
cette zone de liste, également unique pour supprimer
le champ de saisie. Nous devons vider
le champ de saisie. Pour cela, je vais taper le point
d'entrée D à l'intérieur
du tour, alors que
je veux supprimer le caractère
de l'index zéro à la fin. N'oubliez pas qu'au lieu d'utiliser un numéro d'
index, nous utilisons ici A. En gros, A représente une constante. Cela signifie ajouter
au dernier index. Donc, quelle que soit la valeur que nous transmettons, elle sera
ajoutée au dernier index Ensuite, nous devons
créer un bouton. Nous devons créer un bouton qui va déclencher
la fonction. Ici, je vais
définir le bouton, le
bouton et je le place dans une fenêtre racine et
le texte de notre bouton se trouve, et j'appelle cette fonction
élément, et j'emballe ce bouton. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, vous pouvez
maintenant voir qu'il
y a un exploit d'entrée. Maintenant, je veux ajouter un autre langage de
programmation, puis je vais
appuyer sur le bouton Ajouter. Après avoir cliqué sur le bouton Ajouter, vous pouvez
maintenant voir la zone de liste, elle ajoute la
langue Go à la fin. Et de la même manière, vous
pouvez ajouter n'importe quoi. Supposons que cette fois je
veuille ajouter C plus, C plus plus. Si j'appuie sur le bouton Ajouter, comme vous pouvez le voir,
ajoutez C plus plus. C'est ainsi que nous pouvons ajouter un élément de
liste à notre zone de liste. Maintenant, laissez-moi vous montrer comment supprimer des éléments
de liste de notre zone de liste. Mais je vais dupliquer cette ligne et au lieu
d'utiliser Java, je vais ajouter C plus plus. Donc, par défaut, il va
ajouter trois éléments dans notre zone de liste. Maintenant, pour supprimer les éléments, nous devons créer une fonction, et le nom de notre fonction
est Supprimer sélectionné. Ici, je vais définir la
fonction de suppression sélectionnée. Ensuite, dans cette fonction
unique, sélectionnez les éléments. Je définis une variable
appelée selected et sélectionnée égale à listbox
dot car selection Comme je vous l'ai dit tout à l'heure, il a écrit une liste
d'indicus sélectionnés Si je sélectionne C
plus et Python, cela créera un tapel
et le stockera dans cette variable Après cela, je vais utiliser une boucle
à quatre car je suis sélectionnée
à l'envers, puis à l'intérieur de cette boucle à quatre boucles, je veux supprimer l'élément de la liste. méthode de suppression des limites de liste dans les rondeurs
que je fournis I. Maintenant, la question est de savoir pourquoi
j'utilise la méthode inversée Il est essentiellement utilisé pour
éviter les fluctuations d'indice. Ceci est très crucial car la
suppression depuis la fin évite de perturber la
position d'index des éléments restants Ensuite, nous devons
créer un bouton. Cela va déclencher cette
fonction de suppression sélectionnée. Ici, je vais
définir le bouton. Supprimer la sélection, et cela
a déclenché cette fonction, supprimer la sélection. Et je
vais configurer ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal et que je sélectionne l'un
des éléments tels que Java
et que je préfixe la suppression sélectionnée, comme vous pouvez le voir,
l'élément est supprimé de la zone de liste De plus, si vous
souhaitez ajouter l'élément, tapez
simplement JAVA
et ajoutez, puis appuyez sur le bouton. Et encore une fois, ajoutez
le Ib en dernier à la fin
de la liste. Maintenant, laissez-moi vous montrer
comment supprimer tous les éléments en même temps, comment effacer le moins de
cases possible. Et c'est très simple. Il suffit de définir une fonction et le nom de
notre fonction est ARO. Ensuite, dans cette fonction, listbox dot Delete d'abord, vous devez définir
le numéro
d'index à partir duquel vous souhaitez supprimer Je passe zéro car je
veux tout supprimer. J'ai commencé à partir de l'indice
zéro, puis vous devez passer la
position finale de cette liste. Après cela, vous devez créer un bouton qui
appellera cette fonction « clear ». Je crée ce bouton et cela va appeler
la fonction KR. Donc, prédéfinissez ce fichier
si j'exécute ce code dans mon terminal et que je
clique sur le bouton KRL, toutes les
valeurs de la zone de liste seront effacées Nous pouvons maintenant
ajouter un nouvel élément de liste. Vous pouvez également supprimer
cet élément de liste. Vous pouvez également effacer
l'élément de la liste. Le concept
est maintenant clair pour vous. Et si nous parlons des cas d'utilisation
courants de la zone de liste, elle est utilisée pour sélectionner
plusieurs fichiers. Choisissez des éléments dans une longue
liste sans entrées à
options multiples, sélecteur de contenu
dynamique et menu J'espère donc que maintenant c'est
clair pour vous, nous pouvons utiliser List Box Wizard. Merci donc d'
avoir regardé cette vidéo Syuned pour le prochain tutoriel
20. Combobox (via ttk) dans Tkinter ter: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec
un autre tutoriel lié à Kiner. Aujourd'hui, dans ce tutoriel,
nous allons apprendre un autre magicien qui s'appelle Combo Box. La question est de savoir
ce qu'est Combo Box ? La boîte de dialogue Kitk point est un assistant de liste déroulante issu
du J'ai envie de les dire Cinter. Il permet à l'utilisateur de
choisir un seul
élément dans une
liste d'options prédéfinie. C'est assez similaire
avec le tag timus select. En gros, il
vous offre une option déroulante, et pour utiliser Combi Box, vous devez importer le
module Combox depuis TTk depuis Tinter Si nous parlons de
sa fonctionnalité clé, liste déroulante avec saisie semi-automatique Il peut être modifiable ou en lecture seule provient
du module TiTiK, il a
donc un look moderne Maintenant, laissez-moi vous
montrer la syntaxe de base sur laquelle nous
pouvons créer une boîte Combi. Dans un premier temps, nous
devons importer Tiki. Depuis Kiner, je souhaite
importer le module Tik. Ensuite, nous devons
importer Combi Box. Nous devons donc l'importer depuis
le module Quinta point Kitk de Quinta Dot TK,
importer Combi Box Après avoir importé nos modules
nécessaires, je vais créer
une fenêtre racine. Tapez donc root égal à TK. Ici, j'utilise la classe TK pour
créer une variable d'instance. Ensuite, je vais
créer une boîte de liste déroulante. Pour cela, je vais définir une variable et le nom de notre
variable est combo. Comgo égal à ici, je veux créer une boîte à options. À l'intérieur de cette zone de liste déroulante, d'
abord dans ,
puis dans le cadre du processus de sélection, nous devons indiquer dans quelle fenêtre nous allons
placer la boîte de liste déroulante. Ensuite, pour parier les vds
de la boîte à options. La valeur est égale à I list, et ici je passe Python,
Java, Citusts et Après cela, nous devons
emballer , nous devons emballer
cette boîte combinée. Combo point pack,
puis nous devons exécuter la boucle principale Stitght root, point point Minus Je vais
créer une boîte de combinaison de base Si j'ai ce code dans mon terminal, vous pouvez voir le résultat
ici. Il propose une option déroulante. Vous pouvez voir l'érosion
Si je clique dessus, vous pouvez voir les valeurs,
Python, Java, citrus
dus et JavaScript Il s'agit d'une boîte combinée
simple et basique. À partir de là, vous pouvez
sélectionner n'importe quelle annonce. Ensuite, je veux imprimer
la valeur de la zone de liste déroulante dans notre fenêtre à l'aide
du niveau. Alors allons-y. Ensuite, je vais lui
attribuer un titre. Je crée la variable d'instance, je vais créer un
titre intitulé Comma bonks demo. De plus, je vais
ajouter un peu de rembourrage lorsque j'emballerai cette boîte combinée Donc, pad Y est égal à TM. Et si vous voulez attribuer
une sélection par défaut, supposons dans notre cas Java, je veux sélectionner
par défaut par défaut, je
veux sélectionner Java. Dans ce cas, vous devez taper combo point, Cgo point current À l'intérieur de la robe ronde, vous devez
passer le numéro d'index. Voilà, je vais en passer une. Il va sélectionner
le premier index, et comme vous pouvez le voir sur
un index, nous avons Java. Par défaut, il va sélectionner le Java. Je vais
les remplacer par cinq. Ensuite, je vais créer une étiquette
vide à cette position. Niveau égal au niveau, je veux placer ce
niveau dans une fenêtre racine, et comme vous pouvez le voir, Bdfaul
le niveau est vide Nous ne fournissons aucun
texte sur cette étiquette, puis je l'emballe. Maintenant, après avoir créé l'étiquette, nous devons mettre la
valeur dans cette étiquette. Pour cela, nous devons
créer une fonction. Ici, je vais définir une
fonction et le nom de notre fonction est et le
nom de notre fonction est affiché sélectionné. Ensuite, dans cette
fonction,
nous devons d'abord obtenir la valeur
de cette boîte à options. Pour cela, je vais définir
une variable appelée selected
et selected égale à la méthode
Combo point Gate. Il va obtenir la
valeur sélectionnée à partir de cette zone de liste déroulante. Ensuite, nous devons configurer cette étiquette car nous devons
mettre l'
option sélectionnée sur cette étiquette. Pour cela, nous devons
utiliser la méthode de configuration, étiqueter point config
dans la pause d'exécution, ici nous devons sélectionner le paramètre, dans lequel nous
allons configurer Dans notre cas, le texte
, comme ici, nous utilisons Estring. Ensuite, nous tapons, vous le sélectionnez
et à l'intérieur de la niche de la voiture, nous passons la valeur La valeur que nous obtenons
de la zone de liste déroulante. Je vais sous-traiter ce fichier.
Ensuite, nous devons créer un bouton qui va déclencher cette fonction d'affichage sélectionnée. Ici, je définis le bouton, bouton égal au bouton racine, et je goûte ce bouton
dans une fenêtre racine et je sélectionne Je goûte ce
bouton dans une fenêtre racine, puis je dis le
texte du bouton, afficher la sélection. Après cela, j'utilise la commande. Ensuite, j'utilise un paramètre
commun et dans ce paramètre commun, nous appelons
la fonction show selected. Ensuite, j'emballe ce bouton et j'
attribue un peu de rembourrage à YxS. Maintenant, avant qu'ils ne définissent ce fichier, vous pouvez voir quelques
avertissements car nous devons
tout importer depuis head. Je vais importer une étoile à
partir de Kiner input star. De plus, j'importe une boîte à options. Si je définis ce fichier, cela
résout le problème. Maintenant, après avoir défini ce
fichier, si j'exécute ce code dans mon terminal, laissez-moi vous le montrer. Après avoir exécuté ce
code dans mon terminal, voici à quoi ressemble
notre boîte à options, et voici notre
bouton, Afficher la sélection. Donc, par défaut, comme je vous l'ai dit, vous allez sélectionner Java. Je vais maintenant
sélectionner C plus plus. Sélectionnez C plus plus plus, si je clique sur ce bouton, maintenant vous pouvez le voir s'imprimer, vous avez sélectionné C plus plus dans notre fenêtre à
l'aide d'une étiquette. la même manière, vous
pouvez sélectionner n'importe quelle valeur, et si je clique sur ce bouton, cela vous indique que vous sélectionnez Python. C'est l'exemple de la mise à jour de
l'étiquette dans la zone de liste déroulante. J'espère que c'est clair pour toi maintenant. Si je parle d'une option commune de la
boîte à options, il s'agit de la valeur, de l'état, courant, de la porte et du set. Permettez-moi maintenant de vous montrer un
exemple avec l'État. En utilisant l'état, nous pouvons définir en
lecture seule pour empêcher la saisie. Si je définis ce fichier
et que j'exécute ce code, il
s'agit du code précédent, et si je tape manuellement quelque chose dans la zone de liste
déroulante, oui, vous le pouvez. Supposons que je sois ici type,
go, go language. Et comme vous pouvez le voir dans notre liste, nous n'avons pas de langue officielle. Mais si je fais l'éloge, show selected, comme vous pouvez le voir
imprimer sur notre étiquette, sélectionnez go, mais dans nos options, nous n'avons pas de langue go. Pour éviter cela, vous
pouvez utiliser l'option State. Laissez-moi vous montrer comment faire. Où
créons-nous la boîte combinée ? Après avoir transmis les valeurs,
nous devons utiliser une virgule. Ensuite, nous devons utiliser ce
paramètre, état, lecture seule. Si je définis ce fichier et que j'exécute
ce code dans mon terminal, maintenant dans notre boîte à virgule, nous ne pouvons rien
taper Il est interdit de taper
quoi que ce soit dans notre zone de liste déroulante. Désormais, il n'autorise que
la sélection parmi les valeurs prédéfinies pour
éviter toute saisie invalide. J'espère que le concept
est maintenant clair pour vous, qu'est-ce qu'une boîte combinée ?
Qu'est-ce qu'une boîte combinée ? Si je parle de ses cas d'utilisation, il est utile de sélectionner
Ctrl ou langue. Changement de thème ou de mode et option d'ajustement du
menu déroulant. N'oubliez pas que si vous
souhaitez ajouter une nouvelle valeur à cette liste dans cette zone de liste déroulante, vous pouvez le faire manuellement. Il vous suffit d'utiliser la méthode du
set de points combiné. En l'utilisant, quelle que soit
la valeur que nous transmettons, elle sera placée dans cette liste. Je vais vous montrer
la démonstration. Après avoir sélectionné la zone actuelle, si je définis une nouvelle valeur
pour cette zone de liste déroulante, dans notre cas, Combo point set go. Je vais maintenant ajouter le
langage go à ces valeurs. J'ai défini ce fichier, si
j'exécute ce code dans mon terminal et si j'
ouvre mon option déroulante, vous pouvez voir
ici l'option go Et si je clique sur Afficher la sélection, maintenant vous pouvez le voir s'
imprimer, vous le sélectionnez Go J'espère que le concept
est maintenant clair pour vous : comment nous pouvons utiliser Combo Box et à quoi
sert Combo Box. Merci d'avoir regardé cette vidéo, Syuned pour notre prochain tutoriel
21. Boîte à retours Tkinter - Widget: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel et aujourd'hui dans ce tutoriel, nous allons
apprendre un nouveau magicien. Et aujourd'hui, nous allons
apprendre le magicien Kiner Spin Box. Cet assistant de boîte
à rotation de Kinter Lake choisir parmi une plage de
valeurs à l'aide des petites flèches vers le haut
et vers le bas Il est souvent utilisé lorsque la saisie est numérique ou limitée
pour spécifier une action Si nous parlons de
sa principale caractéristique, elle permet la
saisie incrémentielle à l'aide de flèches, sauf uniquement les valeurs comprises
dans une plage définie Ou un ensemble fixe de choix, empêche
également les entrées non valides. Permettez-moi de vous montrer
ce qu'est la Spin Box. Nous sommes dans l'éditeur de
code de mon studio Visors et nous expliquons comment créer une
fenêtre de base simple à l'aide de Kiner J'attribue également un exemple de boîte à
titre Ensuite, je vais
créer une boîte de rotation. Pour cela, je vais définir une variable et notre
variable est le spin. Rotation égale à l'endroit où je
vais créer une boîte de rotation. Ensuite, à l'intérieur des bretelles
rondes,
nous devons d'abord fournir
le nom de la fenêtre dans laquelle nous allons
placer la boîte de rotation. Après cela, nous devons passer
de valeur à valeur. En utilisant le paramètre from underscoe, nous pouvons définir le
point de départ de
notre valeur et
en utilisant deux paramètres, nous pouvons définir la limite de Ensuite, nous devons emballer
la variable de spin. Je tape Spin Dot Pack. À l'intérieur des
presses rondes, j'attribue un peu de rembourrage aux Xxs et YxS. Ensuite, si je place
ce fichier et que je l'annule
dans mon terminal,
voici à quoi ressemble notre boîte à rotation Comme vous pouvez le voir, par défaut, il affiche la valeur la plus basse zéro, et à l'aide de cette flèche, vous pouvez incrémenter la valeur, sinon la décrémenter Supposons que je veuille
incrémenter la valeur, donc j'appuie sur la flèche vers le haut et nous pouvons l'incrémenter pour changer, car ici
nous avons dit la limite Maintenant, permettez-moi de vous montrer
un autre exemple. Ici, je vais
transmettre la valeur personnalisée. Nous allons sélectionner le
jour de la semaine. Pour cela, je vais définir
une autre variable appelée days et elle va
contenir un tuple À l'intérieur de ce tupel, nous allons
passer le nom de la journée. Laissez-moi vous montrer comment faire. Lui,
j'ai créé des jours tuples et je tiens tous les Danim
d'un k. Après cela, nous devons créer un autre spin Je vais donc taper le spin 2 est le spin numéro
deux, égal à. Encore une fois, nous devons
définir la boîte de rotation. Ensuite, vous envoyez le
pinceau rond que je vais
passer dans une racine de fenêtre,
puis dans une virgule supérieure, des valeurs, et ici je vais augmenter les valeurs au fil
des jours Au lieu d'une valeur dynamique, nous utilisons
ici des valeurs personnalisées. Nous pouvons maintenant sélectionner une valeur
entre le lundi et le dimanche. Après cela, je vais
préparer la boîte à spin. Nourriture
PAC Math à deux points Drive Spin Spin, emballez. Ensuite, à l'intérieur des
déshabillages, je vais attribuer
un peu de rembourrage Je copie
donc ces Value paddix et PadUI et je vais Je vais sous-traiter ce fichier.
Après avoir sous-traité ce fichier, si j'exécute ce code
dans mon terminal, vous pouvez
maintenant remarquer
une autre boîte de rotation. Mais ici, nous ne pouvons
sélectionner que les jours. Les jours que nous passons sont pris
en compte dans cette variable. Et si nous parlons de
ses options utiles, laissez-moi vous montrer qu'il est livré avec plusieurs paramètres,
du soulignement à la commande d'incrémentation des valeurs
avec state Maintenant, laissez-moi
vous montrer un autre exemple avec la fonction de rappel. Nous allons utiliser
cette commande de paramètre. Revenons au code Visa
Studio. Donc, d'abord, je vais créer un nouveau pi principal à deux points pour Python Pi. Ensuite, je vais
importer l'intermodule et créer
la fenêtre de base Ici, je crée la fenêtre de base, nous devons
également
exécuter la boucle principale. Point racine, point signifie boucle. Ici, je vais créer
une autre boîte de rotation, qui appellera
une fonction à l'aide
d'un paramètre de commande. Je crée donc ici cette
boîte de rotation et nous la plaçons dans une fenêtre racine et nous définissons la valeur 1 à 10 en utilisant le paramètre de commande, nous appelons une fonction en cas de modification Nous ne définissons pas la fonction, c'est pourquoi elle affiche l'avertissement. Ensuite, nous intégrons cette vitesse. Ensuite, je vais créer
la fonction on change. Ici, je vais taper Dave sur le changement dans
les vers ronds. Je ne vais rien faire passer. Ensuite, dans la fonction de modification, pour l'instant, je vais taper pass. Ensuite, je vais créer une
étiquette devant cette boîte à épingles. Ici, je vais
définir un niveau d'étiquette
égal au niveau et nous définissons ce
niveau dans une variable de niveau. À l'intérieur de ce niveau, nous
saisissons la valeur actuelle. Je vais à
la valeur actuelle dans notre fenêtre. Ensuite, nous devons travailler
sur la fonction de modification. Dans un premier temps, nous devons
obtenir la valeur à partir de cette boîte à épingles et également
la stocker dans une variable. Pour cela, je vais
définir une variable dont la valeur
sélectionnée et la
valeur sélectionnée sont égales à spin dot gate. En utilisant la méthode du portail, nous obtenons
la valeur de cette boîte à épingles. Nous obtenons la valeur
de cette boîte à épingles. Ensuite, je souhaite imprimer la valeur de la porte dans notre terminal. Ici, je vais taper
une instruction d'impression,
imprimer dans les unvers, je tape selectate, puis nous
imprimons cette Ensuite, vous
devez également configurer l'étiquette car je souhaite également
afficher la valeur sélectionnée
dans notre étiquette. Ici, nous devons taper
level point config dans la rundress et
configurer le paramètre text,
text égal à et ici
j'utilise la méthode Estring Ensuite, à l'intérieur du double code, je passe la valeur actuelle et à
l'intérieur de la presse couleur, je passe la valeur sélectionnée. Je
vais configurer ce fichier. Donc, chaque fois que
je choisis une valeur dans la boîte de rotation, elle
imprime la valeur actuelle Laisse-moi te montrer.
Veuillez donc définir ce fichier. Si j'exécute ce code
dans mon terminal, vous pouvez voir
ici la fenêtre, et voici notre boîte de rotation. Si j'augmente la valeur, vous pouvez
maintenant voir que la valeur
actuelle est de deux. Il imprime la valeur actuelle dans ma fenêtre à l'
aide de l'étiquette. Il imprime également la valeur actuelle dans notre terminal à cause de cette instruction d'impression
et nous utilisons ici fonction de
rappel avec le paramètre de commande
help hop Donc, instantanément, cela a changé la valeur lorsque je
l'ai augmentée. Et maintenant, laissez-moi vous montrer
une autre chose très importante. Si vous essayez de modifier au
minimum la valeur de la boîte de
rotation, oui, vous le pouvez Je t'autorise à le faire. Vous pouvez donc transmettre n'importe quelle
valeur telle que 56, mais ce n'est pas ce que je veux. Si vous faites cela, l'utilisateur
peut transmettre
n'importe quoi, toute clé non valide telle que du texte, un
chiffre, etc.,
donc je n'en veux pas Pour résoudre le problème, nous pouvons utiliser un autre
paramètre, qui est l'état. Ainsi, lorsque vous créez
cette spin boox, vous
devez utiliser un autre
paramètre, qui est l'état État égal au radon. Vous devez utiliser ce
paramètre et c'est important. Donc, une fois satisfait, si
je reprends ce code et que j'essaie de modifier la valeur du spin boox manuellement,
ça ne marchera pas Maintenant, vous ne pouvez rien
taper ici, mais vous pouvez augmenter la valeur J'espère donc que le
concept est maintenant clair pour vous : qu'est-ce que Spin Boox
et comment nous pouvons l'utiliser Si je parle de cas d'utilisation, ils sont utilisés pour répertorier la
quantité ou le nombre, choisissant l'heure, la date ou l'évaluation. J'espère donc que le concept de
Spin Box est maintenant clair pour vous. Merci donc d'avoir regardé
cette vidéo,
restez connectés pour le prochain tutoriel.
22. Widget Échelle Tkinter: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour avec un
nouveau tutoriel lié à Kiner. Aujourd'hui, dans ce
tutoriel, nous allons apprendre Kinter Scale Wizard Cet assistant
d'échelle intégré fournit un curseur permettant de sélectionner une
valeur numérique dans une Il est idéal pour saisir des chiffres
avec des informations visuelles,
telles que le volume, la luminosité ou les paramètres Sprint. Si je parle de sa principale caractéristique, il sélectionne une onde continue
ou échelonnée. Peut être horizontal ou vertical ? En outre, il affiche une poignée
que l'utilisateur peut faire glisser et prend en charge les fonctions de rappel
lorsque la valeur change Permettez-moi de vous montrer un
exemple de Scale Wizard. Comme vous pouvez le constater, nous sommes pour moi
un coordinateur de studio et je crée déjà une fenêtre de base
simple. Ici, nous allons
créer une échelle horizontale. Pour le créer,
je vais d'abord définir une variable et le nom de notre
variable est scale, scale égale à notre assistant d'échelle. Ensuite, dans le
Rundress, nous devons placer l'échelle dans une fenêtre racine, puis nous devons
définir d'où nous
allons commencer notre mise à l'échelle Nous allons commencer à
échelonner à partir de zéros. Il s'agit de la plage minimale
et notre plage maximale est 100 et nous définissons la
plage maximale avec deux paramètres. Ensuite, nous devons
définir l'orientation. En l'utilisant, nous pouvons définir
l'orientation. Il peut être vertical,
sinon horizontal. Dans notre cas, nous utilisons l'horizontale. Ensuite, nous utilisons le paramètre de commande. Il va appeler cette
fonction show value, et maintenant je vais
créer la fonction. Je vais définir
la fonction. Donc, tapez DF et le
nom de notre fonction est show value. Ensuite, à l'intérieur du laiton rond, je vais passer le
do some type val. Ensuite, dans cette fonction, pour l'instant, je vais taper pass. Ensuite, nous devons placer
la balance dans notre fenêtre racine. Pour cela, je vais
taper pack scale point pack. À l'intérieur des bretelles rondes, j'
assigne un peu de rembourrage, j'en paie dix. Ensuite, je vais
créer une étiquette qui va peindre
la largeur d'échelle actuelle. Pour cela, je définis une étiquette variable et une étiquette égales à label et nous les
plaçons dans une fenêtre racine, et je lie ce texte
à cette étiquette. J'assigne ce texte à cette
étiquette, sélectionnée zéro. Par défaut, il va l'imprimer et
j'emballe cette étiquette. Maintenant, dans notre fonction, nous devons configurer cette étiquette et la configurer ici pour taper, some removed pass
totype label point Cf. Dans les robes de course, je vais taper du texte, et je veux configurer le paramètre de
texte égal à, et je vais utiliser Estrem
ensuite dans les codes doubles Dans les codes doubles, je
vais transmettre cette instruction, sélectionner dans le
cali contre la valeur La valeur que nous obtenons
de cette échelle correspond à la
valeur indiquée sur cette étiquette. Et je vais configurer ce fichier. Après avoir défini ce fichier, si je ne saisis pas ce code dans mon terminal, vous pouvez voir l'échelle
ici. Par défaut, il est défini sur zéro,
la valeur minimale. Si je déplace ce curseur,
comme vous pouvez le voir, il imprime la valeur notre niveau et nous pouvons faire
glisser jusqu'à 100 valeurs Permettez-moi maintenant de vous montrer
les options que nous pouvons utiliser avec l'assistant de
mise à l'échelle. Ce sont les paramètres
que nous pouvons utiliser avec la commande d'échelle allant de à
orientation, résolution, la longueur, l'
intervalle et le niveau. En utilisant la résolution, nous pouvons définir la
taille du stp en utilisant la longueur, nous pouvons définir la longueur
du curseur en pixels En utilisant l'intervalle de pointe, il marque intervalle sur l'échelle et
chante et en utilisant le niveau, nous pouvons afficher le texte
au-dessus de l'échelle. Laissez-moi vous montrer
la démonstration de tous ces paramètres. Encore une fois, nous sommes dans le code de mon
studio Visal et je vais le
commenter en ligne Ici, je vais
créer une autre échelle. Donc, dans un premier temps, je vais
définir l'échelle variable. Méthode de l'échelle égale à l'échelle. Ensuite, à l'intérieur des presses
rondes,
nous devons d'abord le placer dans
une racine de fenêtre. Ensuite,
je vais utiliser notre premier paramètre de
underce from underscoe et je vais commencer
notre échelle à Dix, et je veux
le porter à dix. Ensuite, je vais
fournir la valeur d'orientation. En utilisant l'orientation, nous pouvons définir
l'orientation de l'échelle. Il peut être vertical,
sinon horizontal. Tapez donc orient et cette fois je vais utiliser une valeur
verticale, verticale. Ensuite, je vais
utiliser la résolution de résolution, et je vais
dire la résolution 0,5. Après la virgule, je
vais dire longueur,
longueur et troupeau pour définir la
longueur de 200 ou 200 pixels Ensuite, nous allons
utiliser un intervalle épais. Cochez l'intervalle, et je
vais le régler sur. Ensuite, je vais
utiliser le niveau et je vais régler le réglage. Ensuite, je vais utiliser
Command Perimeter, Command, Command Decal Two, et je veux appeler cette
fonction show value Je copie le nom de la fonction et
je vais le mettre ici. Ici, j'utilise tous les paramètres, résolution
d'orientation, la longueur, l'intervalle de synchronisation,
l'étiquette et la commande. Ajoutez cela également à la méthode Scale
Dot Pack du type d'échelle. Je vais configurer ce fichier.
Configurez les lettres de ce fichier sur le code de notre terminal
et voyez à quoi il ressemble. Avant de définir ce fichier, je déplace l'étiquette
au-dessus de cette échelle, et je vais
redéfinir ce fichier et exécuter ce code
dans notre terminal. Sur ce code, comme vous pouvez le voir, comme vous pouvez le voir, il s'
agit d'une échelle verticale. Il a défini la
hauteur de l'échelle de 200 pixels. Prenez le deuxième intervalle. Donc, en haut de zéro ,
il imprime deux,
puis il en imprime quatre , puis six, puis huit, puis dix Il s'agit de notre valeur
d'ajustement du niveau de compétence. Et vous pouvez également remarquer que
lorsque je fais glisser mon curseur, il saute Dn 020.5, car c'est Harry a dit que la résolution était de 0,5. Ainsi, à chaque étape,
il passe à 0,5. De même, si je le fais
défiler à nouveau vers le bas, il saute
maintenant vers le haut jusqu'à
ce qu'il soit devenu 1,5. Ainsi, à chaque étape, la valeur de ce curseur a augmenté de
0,5. Et si nous parlons des cas d'
utilisation de cet assistant, il est utilisé pour le contrôle du
volume audio, l'étiquette de la salle
d'image, le contrôle de
la luminosité, la vitesse ou la difficulté
du jeu,
et bien d'autres encore. Maintenant, vous savez à quoi sert le
magicien de compétences dans l'introduction Merci d'avoir visionné cette vidéo, restez connectés pour notre
prochain tutoriel.
23. Barre de progression dans Tkinter (via ttk): Bonjour, les gars. C'est
bon de te revoir. Encore une fois, je suis de retour
avec un autre tutoriel lié à Python KintertDay.
Dans ce tutoriel, nous allons
apprendre la barre de progression C'est un autre magicien de Kinter. Maintenant, qu'est-ce que la barre de progression ? L'assistant
de barre de progression de KinterTTT fournit une représentation visuelle de
la progression d' une tâche de
journalisation Il peut fonctionner selon deux modes. Et si je parle de son mode, il est livré avec un
mode déterminé et un mode indéterminé Le mode déterminé affiche la progression
réelle de 0 à 100 %, et le mode indéterminé indique le mouvement sans indiquer ce qui Il est essentiellement utilisé lorsque vous
ne connaissez pas la durée. Permettez-moi de vous montrer la
syntaxe de base de la barre de progression. Comme vous pouvez le voir, nous sommes dans
mon éditeur de code studio. Dans un premier temps, je vais
importer le module inter. De Kinar, je vais
importer une étoile. Il va importer tous
les modules nécessaires. Après cela, nous devons
importer la barre
de progression depuis le Kint TK Ici, je vais taper à partir de la barre de progression de l'importation de
Kint TK. Ensuite, je vais créer une fenêtre
racine en utilisant la classe TK, root égale à TK. Après cela, nous
devons exécuter la boucle principale. Après avoir créé la fenêtre de base, je vais créer
la barre de progression, et je vais la
stocker dans une variable et
notre variable est
PB, barre de progression. PB est égal à la barre de progression.
À l'intérieur des tours, vous devez d'abord définir la racine Ensuite, nous devons
fournir l'orientation. Dans notre cas, l'orientation est
égale à l'horizontale. Ensuite, la longueur est égale à 200
et le mode détermine. Ensuite, je vais emballer
cette barre de progression, méthode
pv dot pack, et je vais définir ce
fichier. Bien sûr, définissez ce fichier. Si j'exécute ce code
dans mon terminal, comme vous pouvez le voir, voici à quoi ressemble
une barre de progression. Mais pour commencer une progression, nous devons définir une fonction. Mais avant d'
ajouter un bouton. Mais je vais augmenter la
longueur de la barre de progression, je vais la porter à 300. De plus, je vais
ajouter un peu de rembourrage à YxS lorsque je l'emballerai pad, Y, pad, Y égal à
20. Dans le cas contraire, dix. Un égal à dix, et je
vais définir ce fichier. Maintenant, créons un bouton qui va
déclencher une fonction. Cela va déclencher une fonction et ils vont
démarrer la progression. Je vais définir
un bouton variable, bouton égal à
bouton
et attribuer ce texte, démarrer la progression à ce
bouton et une commande égale à celui-ci pour appeler cette
fonction, démarrer la progression. Maintenant, nous devons
définir cette fonction, mais avant de
compresser ce bouton, méthode
Vtn point PAC Ensuite, je vais
copier le nom de la fonction, démarrer la progression et
définir la fonction. Donc, avant la classe DC, je vais définir une fonction,
Dave, et le
nom de notre fonction est start progress. Ensuite, dans cette fonction, vous devez définir la
valeur actuelle de la barre de progression, et pour définir la
valeur actuelle, vous devez taper PV, puis dans le carré,
vous devez mettre la valeur Qd Vous pouvez ensuite attribuer
la valeur que vous souhaitez. PV zéro signifie qu'il est
vide au départ. Ensuite, je vais enregistrer
la vague de progression maximale. Maxwell est égal à 100. Ensuite, je vais
définir la valeur maximale
de la barre de progression. Encore une fois, je tape PV
dans la base carrée, je vais définir
la valeur maximale égale à Maxwell. Je
veux dire la centaine. Plus haut, nous devons démarrer une boucle de 0
à 100. Donc, taper pour I dans gamme à l'intérieur du
laiton rond, c'est Max Bell plus un. Ici, j'utilise plus un pour m'
assurer que 100 sont inclus. Ensuite, dans
ces quatre boucles, nous devons mettre à jour
la barre de progression. Donc, la valeur PV est égale à I. Donc à chaque fois, elle va se
mettre à jour d'une unité. Donc, à chaque fois, le tableau de progression sera mis
à jour. Ensuite, nous devons forcer l'application
to I à supprimer pour reformuler
la valeur de mise à jour Pour cela, nous devons taper pb
point update. Cette méthode. Et pour que la
barre de progression se remplisse sans problème, nous devons lui attribuer un petit délai. Je dois attribuer un délai de 20
millisecondes, totoot en haut à l'intérieur brces
de course, je vais En gros, cela
va introduire
un délai de 20 millisecondes entre chaque mise à jour en utilisant le point racine Ater Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, comme vous pouvez le voir, c'
est notre barre de progression. Si je clique sur Démarrer la progression, laissez-moi vous montrer que, comme vous pouvez le voir, cela commence par la
barre de progression, remonte à 0200 et remplit
la barre de progression Voici donc l'exemple d'une barre de progression
déterminée. Permettez-moi maintenant de vous montrer
un autre exemple de barre de progression indéterminée. Comme vous pouvez le voir, je
crée déjà une fenêtre de base de Kinser Maintenant, je vais
créer une barre de progression, mais cette fois je vais
utiliser le mode indéterminé Ici je crée cette barre de progression, PB égal à la barre de progression, puis orientation horizontale et longueur 300 en mode indéterminé Ensuite, j'emballe cette barre de progression. Ensuite, je vais créer
le bouton de démarrage du chargement. Je définis ce bouton et le texte de
notre bouton commence à
se charger. Ensuite, je commande cette
fonction, Run indeterminate. C'est le nom de notre fonction,
et j'emballe ce bouton. Ensuite, je
vais créer un autre bouton pour
arrêter la progression. Ici, je crée un autre bouton
pour arrêter la progression, et cela s'appelle cette
fonction, stop indeterminate Nous devons maintenant définir
les deux fonctions. Tout d'abord, je vais
définir run indeterminate. Ici, Dave exécute indéterminé
dans la fonction, j'utilise PV En cours de course contre
dix millisecondes. barre
de progression démarrera
au bout dix millisecondes Ensuite, nous devons arrêter
la barre de progression. Pour cela, je vais
définir une autre fonction nom est
stop indeterminate Arrêtez indéterminé
dans cette fonction. Dans la méthode PV point stop type PV
pour arrêter la verve de progression. Si je définis ce fichier et
sauf code dans mon terminal, vous pouvez voir
ici la barre
de progression,
le démarrage du chargement et
le bouton d'arrêt. Si je fais l'éloge du bouton de démarrage, vous pouvez
maintenant le voir bouger sans
indiquer ce qui est fait. Nous l'utilisons lorsque nous ne
connaissons pas la durée. Nous ne savons pas combien de temps il nous
faudra pour
terminer notre travail, et si vous voulez
arrêter cette progression
juste pour vous féliciter, cliquez sur le bouton d'arrêt. Voici un exemple de
barre de progression déterminée et indéterminée Maintenant, si je parle de son option
courante,
sinon de son paramètre, il est livré avec l'orientation, la longueur, mode, le maximum et la valeur, nous le connaissons déjà. Si je parle des cas d'utilisation,
il est utilisé pour le téléchargement de fichiers, la finalisation
fiscale, l'écran de chargement, installation ou les opérations par lots. C'est tout pour ce tutoriel. Merci d'avoir regardé
cette vidéo,
restez connectés pour le prochain didacticiel.
24. Menu et sous-menus dans Tkinter ter: Bonjour les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un nouveau tutoriel lié à Kiner wizard. Aujourd'hui, dans ce tutoriel, nous allons apprendre les menus
et les sous-menus dans Kinter. Maintenant, la question
est : qu'est-ce qu'un menu ? Dans Kiner, un menu est
une liste déroulante d' options situées généralement
en haut de la fenêtre,
comme fichier, édition, guérison
dans la plupart des applications, et les sous-menus sont des menus imbriqués qui apparaissent
lorsque vous
survolez une option de
menu lorsque vous
survolez Si je vous montre l'
exemple de menu, c'est l'exemple de
menu dans n'importe quelle application. s'agit de la barre de menu,
et c'est
l'un des assistants les plus importants
de toute application graphique. Voyons maintenant
comment créer un menu. Dans un premier temps, nous devons
créer un objet de menu. Ensuite, nous devons l'attribuer à fenêtre principale
en utilisant
le point de fenêtre. Ensuite,
nous devons ajouter des
menus de haut niveau tels que Fichier, Modifier, Aide, etc., en utilisant Ajouter un cercueil
de soulignement. Vous pouvez ajouter des commandes et des
sous-menus
en utilisant la méthode Add
underscoeommand et ajouter une méthode la fenêtre principale
en utilisant
le point de fenêtre.
Ensuite,
nous devons ajouter des
menus de haut niveau tels que Fichier,
Modifier, Aide, etc., en utilisant Ajouter un cercueil
de soulignement. Vous pouvez ajouter des commandes et des
sous-menus
en utilisant la méthode Add
underscoeommand et ajouter une méthode de séparation de soulignement. Ne t'inquiète pas. Je vais vous
montrer tout cela, comment créer un
menu et un sous-menu Si nous parlons des
méthodes clés et de leurs rôles, ce sont toutes des méthodes. Comme le menu au niveau de
la commande, de la cascade, séparateur, du tear off, configuration
root point, etc. Cette méthode crée un nouveau menu. En utilisant at command, nous pouvons
ajouter des éléments exploitables, et en chantant en cascade, nous pouvons ajouter des sous-menus En utilisant un séparateur, nous
pouvons ajouter des lignes horizontales. En utilisant Tear Off Zero, nous pouvons supprimer le tiret en haut du menu. C'est facultatif. En utilisant le point
racine C fig, nous pouvons relier la
barre de menu à la fenêtre principale. Permettez-moi de vous
montrer
comment nous pouvons créer un principal. Passons à l'aspect pratique. Comme vous pouvez le voir, nous sommes dans mon éditeur de code Visual Studio et je crée un
fichier Python principal,
et je crée un fichier Python,
MainTPI et ici, je crée
une fenêtre simple de base Dans un premier temps, nous devons
créer une manœuvre. Pour cela, je vais définir une variable appelée manuar
Manure égale à ici, nous devons utiliser ce menu de classe et à l'intérieur
et à l'intérieur de celui-ci, nous devons mentionner la
fenêtre dans notre racine de cas Après avoir créé la manœuvre, je vais créer
le faisceau de fichiers Pour cela, je vais définir une variable appelée menu fichier. Le menu Fichier est le même que moi. Et je vais déplacer ce
menu dans ce manuel. Ensuite, vous utilisez un autre paramètre tear
off, tear off zero. Je veux dire que cela va supprimer le tiret
en haut du menu. Elle est facultative. Si tu
veux l'utiliser, oui, tu peux. Ensuite, vous devez ajouter l'
étiquette de ce menu de fichier. Vous devez également le
mettre dans le fichier Menu. Pour cela, nous devons taper manubar manubar point sur Cask
Method Ensuite, à l'intérieur,
vous devez d'abord fournir
le nom du fichier, je veux dire le
fichier d'éléments de menu, puis le menu Menu égal au menu fichier et je
vais définir ce fichier. la même manière,
je vais créer deux autres
éléments de menu tels que le fichier, puis je vais créer Modifier. Après cela, je vais créer
de la santé. Voilà, je vais
créer le menu Edition. abord, je vais
taper le menu d'
édition, le menu d'édition est égal au menu et je vais le
mettre dans une barre de menu. Et je dis aussi niveau de zéro. Ensuite, pointez manuellement le
point en cascade, étiquetez Modifier et
passez au menu Modifier la même manière, je vais en
créer un autre, qui est le menu d'aide. Tapez help Mu égal au menu. Ensuite, pointez Mnubar en cascade,
étiquetez Hill, Mnqual pour aider Min. Ensuite, nous devons attacher le
menu incorrect à la fenêtre. Pour cela, nous devons utiliser la méthode de configuration
root point,
root point config. À l'intérieur du rond, la mention
Menu est identique à la barre de menu. Celui-ci. Je vais
régler ça très bien. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, voici à quoi ressemblera notre menu. Maintenant, si je fais référence à mon cause dans
le menu Fichier, vous ne pouvez rien voir
ici car dans le menu Fichier, ne créez aucune
option pour l'utilisateur Maintenant, dans le menu Fichier, je vais mettre Nouveau fichier, Ouvrir un fichier, quitter
, etc., enregistrer, etc. Je tiens à dire que si je
clique sur le menu Fichier, vous pouvez voir
ici d'autres options telles qu'un nouveau fichier, nouvelle fenêtre, ouvrir un fichier, ouvrir un dossier, enregistrer
des SABA, etc. Vous pouvez également voir
une ligne de séparation. Vous allez donc créer cela. Nous pouvons le faire en utilisant
la méthode de commande at. abord, nous devons
taper le nom du menu dans notre cas File Menu. Je vais donc passer le point du menu du fichier à la commande. En utilisant la commande, nous
pouvons ajouter un nouvel élément. Nous pouvons ajouter un nouvel élément dans
le menu dans notre cas, nouveau et il commande cette méthode. Ainsi, chaque fois que nous appuierons sur
le nouveau label, il exécutera
cette fonction, les cinq
nouveaux, et notre fonction
créera un nouveau fichier. C'est à vous de décider de ce que votre
fonction va faire. Donc pour l'instant, je vais
définir une fonction, un nouveau fichier. Je copie donc le nom de la fonction. Je vais donc
définir cette fonction. Après avoir importé le module, je vais définir
ici la
fonction appelée nouveau fichier. Date du nouveau fichier et cette
fonction va
imprimer cette ligne dans notre
terminal, Nouveau fichier créé. Nous n'allons pas
créer de nouveau fichier car ici j'essaie juste vous
montrer comment
créer le menu. Après cela, après avoir
créé le Nu, je vais créer
un autre niveau. Je veux créer open. Donc, de la même manière, nous devons taper filenu
point at command, label open, et cela va appeler cette
fonction open file Et nous devons également
créer cette fonction. Donc, ici, je vais définir
une autre fonction, ouvrir un fichier, et vous allez
imprimer le fichier ouvert.
En gros, j'essaie simplement d' imiter un menu,
quelque chose comme ça Après cela, je veux ajouter
un séparateur comme celui-ci. Donc, si j'ouvre le menu des fichiers, vous pouvez voir
ici un séparateur. De la même manière, nous pouvons
créer un séparateur dans Kinder. Pour créer le séparateur,
tapez le point du menu dans la méthode du séparateur. Définissez le séparateur vers le haut,
comme vous pouvez le voir, jusqu'à définir le
séparateur, nous allons créer la sortie. Ici, je vais définir un autre point de
menu du fichier d'
étiquettes à la sortie de la commande, et je vais
appeler cette fonction exit app. Nous devons maintenant
définir cette méthode. Alors voilà, Dave quitte
l'application dans Root Dot Quit. Je
vais régler ce cinq. Chaque fois que l'utilisateur appuie sur ce bouton, la fenêtre se ferme. Maintenant, nous allons sous-traiter le fichier et exécuter
ce code dans notre terminal. Je veux appuyer sur le bouton Exécuter. Comme vous pouvez le voir, c'est notre
manuel si je clique sur le fichier, ici vous pouvez voir
Nouveau s'ouvrir et quitter Si j'appuie sur Nouveau, comme vous pouvez le voir dans mon terminal, imprimez, un nouveau fichier est créé. De même, si j'appuie sur Ouvrir, il va imprimer,
ouvrir, classer ouvert. Et si je clique sur l'option de sortie, vous pouvez
également remarquer
le séparateur ici, et si je clique sur l'option de sortie, la fenêtre sera fermée. Il va sortir du pura. la même manière, je vais ajouter
d'autres options d'édition, telles que le copier-coller. Je vais ajouter
ces trois options. Ici, dans le menu Edition, je vais ajouter toutes les options
en utilisant la méthode de commande at. abord, nous voulons lier le nom du
menu. Dans notre cas, Modifier le point du menu à commande dans le Rundress doit utiliser le paramètre label, label égal à cut Et je vais configurer ce fichier. Maintenant, si je définis ce fichier et que j'exécute ce code
dans notre terminal, cette fois si je
l'ouvre et si je clique sur
cette option Modifier, vous pouvez voir
ici
les deux options. Coupez, copiez et collez. Passons maintenant
au menu Aide. Ici, je vais créer
un sous-menu à l'intérieur. Dans le menu Aide, je vais
définir
ici un autre menu qui concerne le menu. À propos du menu, c'est égal à menu et je vais le mettre
dans le menu d'aide. Voici donc notre menu d'
aide et ici je vais placer le
menu À propos dans le menu d'aide. Ensuite, dans le menu At, je vais ajouter
les libellés,
tels que À propos de nous, Virgin Info, etc. Ensuite, nous devons également
mettre ce menu à propos
dans le menu d'aide. Nous devons donc utiliser
la méthode en cascade. Iotapez helpmenu point en cascade à
l'intérieur du laiton rond, étiquette attribuez cette étiquette à propos du menu
et Mnequal à propos Ici, nous créons le menu A, puis nous devons le placer
dans le menu Aide en utilisant
la ATCascat. Je
vais configurer ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant voir un menu
entièrement fonctionnel. Si je clique sur le menu d'aide, vous pouvez
maintenant voir un
sous-menu, qui est à peu près Si je passe le pointeur de ma carte
sur ce menu à propos
, vous pouvez voir qu'
une autre fenêtre s'ouvre et que vous pouvez
voir ATs et Virgin Info Ici, créez un homme
entièrement fonctionnel et nous connaissons le
processus pour le créer C'est tout pour ce tutoriel. Merci d'avoir regardé cette vidéo.
25. Séparateur, fenêtre à couche, carnet de notes: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec le nouveau tutoriel relatif aux assistants Kiner Advanced Ici, je vais expliquer trois assistants de
structure de mise en page importants
dans Kiner Separator, Pan Window et Notebook Ces assistants sont principalement
utilisés pour organiser et améliorer la mise en page de l'interface utilisateur dans des applications
plus complexes Commençons maintenant par le premier séparateur, le séparateur
Tk. Il s'agit d'une fine ligne
utilisée pour
séparer visuellement les différentes
sections de votre interface graphique. Il peut être horizontal
ou vertical. Si je parle de sa syntaxe, vous devez taper Tt
separator class. Ensuite, à l'intérieur du laiton
, nous devons passer l'élément
parent à la racine de notre boîtier Ensuite, nous devons fournir
l'orientation, par exemple horizontale,
sinon verticale. Voyons la démonstration de la
façon dont nous pouvons l'utiliser. Comme vous pouvez le voir, nous sommes invités par
le studio codior et moi créé un séparateur de
nom de fichier Python point pi abord, nous importons
notre module Kiner et nous importons tout
depuis le Kinter Ensuite, nous importons le TDK depuis Kiner. Ensuite, nous créons
une fenêtre racine. Il s'agit de la fenêtre de base. Je vais maintenant définir un label. Je vais définir une
étiquette pour cette fenêtre racine. Étiquette à l'intérieur des versets, je vais passer devant la racine du barrage de la fenêtre
principale. Ensuite, je vais attribuer ce texte au-dessus de la ligne,
puis j'emballe cette étiquette. Ensuite, je vais
créer ce séparateur. Pour créer le séparateur
tt point Sebatocass. Ensuite, dans le runbress,
nous devons d'abord fournir le
nom de la fenêtre dans notre racine de cas, puis nous devons fournir
l'orientation Orientation égale à ici Je
veux tracer une ligne horizontale, donc je passe à l'horizontale. Ensuite, j'emballe ce séparateur
à l'aide du pack Mthwor, je remplis celui-ci à Xxs et j'attribue
également un petit
rembourrage dans la direction de YxS j'attribue
également un petit
rembourrage Ensuite, je vais
définir un autre label. Étiquetez et je vais
mettre l'étiquette en dessous de
cette ligne horizontale. Ici, j'ai dit le
texte de l'étiquette en dessous de la ligne, puis j'emballe cette étiquette. Après ce fichier, si j'exécute
ce code dans notre terminal, laissez-moi vous montrer que
c'est la ligne. C'est de cette phrase que
je parle. Ici, je trace une ligne
entre les deux étiquettes. Si je parle de cas d'utilisation,
il s'agit de séparer les barres d'outils des
sections ou de regrouper des zones
dans une fenêtre Parlons maintenant de Pan Window. Il s'agit essentiellement d'un
conteneur qui divise la fenêtre en volets mobiles et
redimensionnables Vous pouvez y
ajouter plusieurs assistants. Si nous en parlons de syntaxe d'
abord sur le type fenêtre à volet, fenêtre à
volet, puis
à l'intérieur des rondes pour fournir, nous devons
fournir le nom de la fenêtre Dans notre cas, la racine, nous
devons alors fournir l'orientation, puis nous devons transmettre
l'orientation. Dans notre cas, il serait
horizontal, sinon vertical. Maintenant, laissez-moi vous montrer
la démonstration de ce qu'est une fenêtre à carreaux. Comme vous pouvez le voir, je crée un autre fichier Python
appelé window point Pi et ici je crée un kinter de fenêtre
simple de base Dans un premier temps, je vais
définir une fenêtre panoramique. Pour cela, je vais définir une variable PW PW égale
à une fenêtre à volets Ensuite, à l'intérieur de Runress, root est le parent
de la fenêtre panoramique, et nous utilisons l'orientation horizontale Cela signifie que nous allons
placer la poêle côte à côte. Si vous souhaitez le
placer en haut et en bas, vous pouvez utiliser la verticale. Ensuite, nous devons emballer
ce pack Pw et,
à l'intérieur du rond, il est indiqué que nous utilisons
ici deux paramètres,
fill et expand Si vous utilisez les deux options de remplissage, cela élargira l'
assistant dans les deux sens. Je veux dire horizontalement
et verticalement. Si le rythme libre est disponible et que l'extension est
égale à un moyen, cela permettra à
l'assistant de s'
agrandir lorsque la fenêtre sera redimensionnée Et maintenant je vais apposer une
étiquette sur cette fenêtre panoramique. Je veux le placer sur le côté des genoux. Pour cela, lapid égal à étiquette, je place l'étiquette
dans cette fenêtre panoramique, et je tape du texte bed pan et notre
couleur de fond est bleu clair Ensuite, nous devons ajouter
le niveau de levage à l'intérieur de
cette fenêtre panoramique sous forme de poêle. Pour cela, je vais taper pw point add dans le
run bass is lit. De la même manière, je vais
créer la bonne étiquette. Nous devons également le
mettre du bon côté. Pour cela, encore une fois, nous devons
utiliser la méthode add pw add right. Maintenant, après avoir défini ce fichier, si j'exécute le code dans mon terminal,
voici à quoi ressemble notre
fenêtre à volets Si j'augmente la
taille de la fenêtre, comme vous pouvez le voir, fonction de la taille de la fenêtre, cela redimensionne les volets. En gros, nous l'utilisons pour les éditeurs côte à
côte tels que l'
explorateur de fichiers et l'éditeur. Nous pouvons également l'utiliser
pour configurer les panneaux, la zone de
prévisualisation, etc. Parlons maintenant du
dernier, qui est un carnet de notes. Fondamentalement, nous l'utilisons pour créer
une interface à onglets
similaire au navigateur,
similaire à l'onglet du navigateur ou à la boîte de dialogue de configuration En l'utilisant, vous pouvez passer
d'un onglet à un autre. Si j'en parle de syntaxe, vous devez d'
abord définir
le nom de la variable, puis taper TDK notebook puis vous devez transmettre
le nom de la fenêtre parent À ce stade, pour
utiliser la méthode d'ajout. Ensuite, vous devez
transmettre le cadre enfant et le texte, le nom de l'onglet. Laissez-moi vous montrer la démonstration à
quoi ressemble un ordinateur portable. Comme vous pouvez le voir, je crée ici un autre fichier Python,
notebook point five. Dans un premier temps, nous importons le
module Ginter, puis nous importons toutes les fonctions,
classes et constantes nécessaires Ensuite, nous importons TK. TTC est l'abréviation de Themed TK module, qui contient des
assistants thématiques modernes tels que le bloc-notes, barre de
progression et la vue
Tre Nous créons la fenêtre de base Dans un premier temps, je vais
définir un carnet de notes. Pour cela, je vais déclarer
un notebook variable égal à Ttkt notebook et nous l'avons
placé dans une fenêtre racine Ensuite, nous devons ajouter
ce bloc-notes,
bloc-notes, à l'intérieur du processus d'exécution, HerouSeepand, égal à un,
et remplir égal aux et Agrandir un signifie que le
bloc-notes s'agrandira pour utiliser tous les
espaces disponibles dans la fenêtre, et remplir les deux signifie que le
bloc-notes s'étirera fois horizontalement et verticalement lorsque la fenêtre sera redimensionnée Ensuite, je vais créer
RaltFramef à deux onglets. Je vais donc définir deux
variables tabo et tacto, Tabo égal au cadre, et je place ce cadre dans le carnet et j'en tape
deux égales au cadre, je mets également celui-ci
dans Ensuite, je vais attribuer
un texte d'étiquette à l'onglet. Voici donc une étiquette de pourboire, et je vais la
mettre dans un onglet et Amutip souhaite la bienvenue dans l'onglet
et j'emballe cette De la même manière, nous devons
créer une autre étiquette. Et cette fois, je vais
mettre celui-ci dans l'onglet 2. Ensuite, nous devons ajouter chaque cadre sous forme d'onglet distinct
au bloc-notes. Pour cela, nous devons
utiliser la méthode add. Je vais ajouter les deux onglets, et je veux l'ajouter séparément. Je tape le point du bloc-notes dans l'onglet 1, le point du texte dans l'onglet 1 et le
point du bloc-notes dans la balise de texte deux de l'onglet 2. Ici, l'onglet apparaîtra
avec le titre de l'onglet un et le tag deux apparaîtra avec
le titre de l'onglet deux. Maintenant, configurons le fichier. Définissons le fichier et exécutons
ce code dans notre terminal. Après avoir exécuté ce code
dans notre terminal, vous pouvez voir le
résultat
ici. Il s'agit de l'onglet 1. Dans cet onglet, Hey print, nous arriverons à l'onglet 1 à
l'aide de cette étiquette. Si vous le survolez, vous
pouvez voir qu'il est devenu bleu. Si je clique dessus,
nous passons maintenant à l'onglet deux, semblable au navigateur.
Ici, nous imprimons, c'est l'onglet deux à
l'aide de cette étiquette. Si nous essayons de l'étendre,
il continuera à fonctionner. Parce que Harry l'étend
dans les deux sens. Il est très similaire
à l'onglet du navigateur, et il est utilisé pour
organiser les paramètres, les vues
multiples ou le contenu
classé. J'espère que le concept
est maintenant clair pour vous. Merci d'avoir regardé cette vidéo, Sytune pour le prochain chapitre
26. La reliure sur commande (méthode plus simple): Salut, les gars, c'est bon de vous revoir. Il s'agit du premier didacticiel
relatif à la gestion des événements Kinter. Dans ce tutoriel, nous allons
apprendre la liaison de commandes, méthode
plus simple dans Kinter. liaison de commandes est le moyen le plus simple et le plus convivial
pour les
débutants de gérer les événements dans Kinter. Il est généralement utilisé avec des
assistants tels que le bouton, le bouton de
vérification, le
bouton radio et les hommes Vous pouvez attribuer une fonction à un assistant à l'aide du paramètre de
commande. Lorsque l'utilisateur interagit
avec cet assistant, la fonction est exécutée. Si j'en parle de syntaxe, tapez d'
abord le paramètre de commande , puis vous devez attribuer
le nom de la fonction. N'oubliez pas que lorsque nous transmettons
le nom de la fonction, nous n'utilisons pas de parenthèses Cela signifie qu'elle ne s'exécutera
pas immédiatement et que la fonction ne peut pas prendre d'
argument à moins qu'elle ne soit encapsulée. Vous pouvez également l'utiliser avec la fonction
Lambda. Lambda est une fonction à ligne unique. Permettez-moi donc de vous montrer
le premier exemple, commande
de base par bouton. Comme vous pouvez le voir, nous créons
ici une fenêtre GY simple de base, et j'attribue ici un exemple de liaison de
commande title. Nous savons que nous
connaissons déjà cet événement, mais nous devons
l'apprendre étape par étape. C'est pourquoi je vais
vous le montrer. Je vais donc définir un bouton, bouton égal à
bouton, et le texte du bouton est excellent. Et ici j'utilise le paramètre de
commande. Une commande égale au nom de notre
fonction est géniale. Maintenant, nous devons
emballer ce bouton. Nous tapons donc ici button,
dot pack Mthod. Ensuite, nous devons
définir cette fonction. Je vais définir cette
fonction à cette position. Je vais donc le mettre ici. Je vais configurer ce
fichier. Dave, salut, écris Bonjour Kiner Il s'agit de la commande de base des
boutons, et nous la
connaissons déjà. Donc, si je lance ce
code dans mon terminal et que je fais l'éloge du bouton, laissez-moi vous montrer que si
je fais l'éloge du message d'accueil, comme vous pouvez le voir sur mon terminal, il affiche « bonjour », Kiner Maintenant, permettez-moi de vous montrer
un autre exemple. Maintenant, chaque fois que nous
appelons la fonction, je veux passer un argument. Pour cela, nous devons utiliser la fonction
Lambda.
Laisse-moi te montrer. Encore une fois, je suis de retour mon éditeur de code de studio
et je crée également un autre fichier
Python principal dans lequel Pi et moi créons une fenêtre
simple de base. Au début, je vais définir un bouton et j'ai dit :
« Donne-moi un coup de pied ». Ensuite, dans le coma, je vais
utiliser une fonction Lambda. Commande égale à type
Lambda, puis Colin. Ensuite, pour appeler la fonction et entre parenthèses, je vais passer le do Je voudrais présenter un argument. Nous devons maintenant traiter
cet argument. Si pour définir cette
fonction, afficher le message. Ici, je vais
définir la fonction. Je copie le
nom de la fonction, j'affiche le message. Je vais taper Dave et le nom de notre fonction
est Afficher le message. Ensuite,
en guise d'argument, nous allons passer mon nom Nom. Ensuite, dans
la fonction ici, je vais taper print
statement, print. Ensuite, à l'intérieur des robes rondes, je vais utiliser un string en F. Chaîne F à l'intérieur des
codes doubles, bonjour virgule. Ensuite, dans les classes, je vais passer le nom de la
variable et semi pour terminer cette ligne et exclavation. Je
vais m'abonner. Maintenant, au lieu de mon nom, tu peux transmettre n'importe quoi ici. Vous pouvez transmettre n'importe quel nom ici. Maintenant, nous devons étiqueter ce bouton. Pour cela, je vais taper BTN button point PAC Mathod tag Maintenant, après avoir emballé ce bouton, je vais définir ce fichier et exécuter ce code dans mon terminal. Après avoir exécuté ce code,
vous pouvez voir ici le bouton « cliquez sur moi ». Si je clique sur ce bouton, comme vous pouvez le voir
imprimé dans mon terminal,
bonjour, je m'appelle Jointo En gros, Lambda
est utilisé pour créer une fonction anonyme qui enveloppe la fonction d'origine avec
un paramètre Et si nous parlons de
limitation de commande, aucune information sur les événements et d'
aucun contrôle anticipé. L'absence d'informations sur l'événement signifie que vous
n'avez pas obtenu de détails tels que la touche ou le bouton de
la souris utilisé. De plus, vous ne disposez pas de commandes
avancées telles que la position de la souris ou la saisie au
clavier. Et si je parle de
cas d'utilisation, nous l'utilisons avec des boutons
tels que soumettre, enregistrer, annuler, etc. Nous l'utilisons également avec des menus
tels que fichier, sortie, etc., et nous l' utilisons également pour des actions rapides
et simples qui
ne nécessitent pas de données d'événements Il s'agit de la méthode de liaison de
commandes la plus simple. Et c'est ainsi que nous pouvons l'utiliser. Merci d'avoir regardé
cette vidéo,
restez connectés pour le prochain tutoriel.
27. Utiliser la méthode bind() (méthode avancée): Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de
retour avec un autre tutoriel lié à la gestion
inter-événements, et aujourd'hui nous allons
utiliser la méthode Bind. Il s'agit d'une méthode avancée. La méthode bind vous permet d'
associer un
gestionnaire d'événements à un assistant, afin qu'il puisse réagir aux événements de la souris, aux événements liés à des mots clés ou à d'autres
déclencheurs Si je parle de sa syntaxe,
totype wizard, la méthode de liaison par points, alors à l'intérieur du rond, il est indiqué que nous devons passer la
description de l'événement entre crochets Ensuite, vous devez appeler
la fonction de gestion. Des événements tels qu'un événement de souris, un événement de
mot clé, etc. Ce sont tous des événements
courants chez la souris. Si nous utilisons le premier bouton, cela signifie laisser la souris cliquer. Si vous utilisez le deuxième tiret inférieur, cela signifie un clic central. Si vous utilisez le D trois inférieur, cela signifie un clic droit. Si vous utilisez le premier bouton à double
tiret,
cela signifie un double clic labial. Et si nous utilisons P, on fait du mouvement, cela signifie que la souris fait glisser la souris
avec le bouton b. Si nous utilisons Enter, cela signifie que les voitures sont des assistants Enter. Si nous utilisons les congés, les voitures
sont des sorciers des congés. Ce sont tous des événements de souris
que nous pouvons utiliser avec Kiner. Permettez-moi maintenant de vous montrer un
exemple de base avec Lip Mouse Kick. Comme vous pouvez le voir, nous sommes dans mon
éditeur de code studio et je crée un fichier Python main point Pi et ici je crée une fenêtre
Kiner de base Ici, je vais d'abord
définir une branche de base, étiquette égale à étiquette, et ici j'assigne un
texte, cliquez à l'intérieur de moi. C'est le texte de l'étiquette, et j'ai dit :
couleur du diagramme bleu
clair largeur 30 et hauteur cinq. Ensuite, nous devons emballer cette étiquette. Pour emballer cette étiquette,
je vais taper label point PAC Math hole. Ensuite, à l'intérieur du Roundres, je
vais ajouter un peu de rembourrage, pad à YxS égal à, je vais ajouter un rembourrage de
20 pixels, et je vais définir ce fichier Ensuite, je
vais lier cette
étiquette à un événement. Pour cela, je vais taper
label that bind method, bind. Ensuite, à l'intérieur des presses rondes, puis à l'intérieur des presses rondes en laiton, je vais utiliser ce premier bouton d'
événement. À l'intérieur des codes doubles, à l'intérieur des codes doubles et
à l'intérieur du crochet angulaire, je vais taper le premier bouton. Ensuite, je vais taper une virgule. Après cela, je vais appeler
une méthode et notre méthode
est sur click on
underscore, Ensuite, nous devons
définir la méthode. En gros, le héros utilise un événement
Lap Mouse Click. Maintenant, lorsque je fais l'éloge de l'événement Lap Mouse
Click sur cette étiquette, je veux exécuter cette fonction
au clic pour définir cette fonction. Définissons donc la fonction. Donc ici, je vais
définir la fonction. Dave on Click Inside
the Rundresss event. Ensuite, dans la fonction, dépêchez-vous de passer l'
événement de la souris en paramètre. Ensuite, nous devons extraire
la position cliquée,
la position XXS et OxS du clic et imprimer dans Pour cela, je vais taper
print statement, print, ici j'utilise Estring puis
je tape un clic de souris à l'intérieur des runds
inside the calices event,
xxS et event yXs . Il va imprimer la
position du clic. Précepte cette pile. Si j'exécute
ce code dans notre terminal. Vous pouvez maintenant voir l'étiquette ici. Maintenant, si je clique n'importe où
sur cette étiquette, comme vous pouvez le voir, elle
affiche une déclaration, clic de
souris à 177 pixels depuis les Yx et à 23
pixels depuis les Xxs Et si je clique sur cette position, vous pouvez
maintenant voir la valeur Xs
28 et la valeur YXS 33 Il s'agit de la coordonnée du
clic de la souris. Voici donc l'exemple
d'un événement impliquant une souris. Maintenant, laissez-moi vous montrer
un autre exemple. Mais avant de vous montrer l'exemple d'un événement par
mot clé, j'aimerais vous montrer
quelques événements par mot clé. Voici les événements courants liés aux
mots clés. Le premier est essentiel. Cela
signifie que si nous appuyons sur une touche, cela
déclenchera cet événement. La prochaine étape est le retour. C'est pour la touche Entrée. Puis vient Scape. C'est pour Scape Key. Puis montez, c'
est pour la flèche vers le haut, puis descendez, c'est
pour la flèche vers le bas. Puis viennent A. C'est pour Control plus A. Commençons par l'aspect
pratique et voyons comment nous
pouvons utiliser les événements du clavier. Comme vous pouvez le voir, nous sommes dans
l'éditeur de code du studio utilisateur et je crée déjà un fichier
Python principal sur deux Pi. Dans un premier temps, je vais
créer un champ de saisie. Je vais prendre un champ de saisie. Je définis donc une
entrée variable entrée par entrée, et nous la plaçons dans une fenêtre racine et je comprime ce champ de saisie. Après cela, je vais lier
ce champ
de saisie à keyboard evet. Pour cela, je vais taper entry point bind dans
la touche Run Brass, et je vais faire
appel à la méthode key. Nous allons appeler
cette fonction. Cette méthode, déclencheur clé
de tout éloge clé. Ensuite, nous définissons une fonction clé. Pour cela, tapez sur une touche lors de
l'opération de pression ronde. Ensuite, dans cette fonction, je vais taper print
statement, print. Ensuite, à l'intérieur des presses rondes, le manche utilise la chaîne A et
à l'intérieur les doubles codes. Dans les codes doubles, je vais taper
key prese, key Appuyez sur la touche, puis dans le Cliress, je veux
imprimer le caractère réel Donc, pour taper même sur un caractère à points, il va
imprimer le caractère réel. Je veux parler du personnage
réel produit par la clé. Ensuite, je souhaite imprimer
le nom de la clé. Pour cela, nous devons utiliser
les clés d'événement YM. Laissez-moi vous le montrer.
Ici, je tape le symbole, puis à l'intérieur des crochets, puis à l'intérieur des touches
Caliverseven point YM En gros, il va
imprimer nom
lisible par l'homme de la clé. Exécutons maintenant le
code dans notre terminal. Définissons le fichier et exécutons
ce code dans notre terminal. Nous avons maintenant l'impression d'entrer. Et si je tape quelque chose
comme A, maintenant, comme vous pouvez le voir dans notre terminal il imprime la touche A, le
symbole est également A.
Maintenant, si je fais l'éloge de l'expédition, vous pouvez voir que pour les caractères non imprimables,
il n'imprime Dans notre clavier,
il n'imprime rien, mais dans notre symbole, il
imprime le backspace et Pour supprimer le caractère A,
j'utilise le backspace. C'est pourquoi il imprime le backspace, puis je fais l'éloge de Shift C'est pourquoi il a saisi « expédié ». De même, si
vous tapez la touche ultime, vous pouvez
maintenant la voir imprimer Alt L. Si je fais l'éloge
du côté droit, vous pouvez
maintenant la voir s'imprimer. De même, si
je loue la touche Scape, elle imprime Scape et si j'
appuie sur un, deux, trois, quatre,
sinon, sur n'importe quel chiffre, maintenant
vous pouvez voir que la touche quatre est enfoncée, le symbole est également quatre. Voici un exemple
d'événement clé commun. Permettez-moi maintenant de vous montrer le
dernier exemple où je vais utiliser plusieurs
événements dans un bouton. Nous allons utiliser
plusieurs événements dans un seul bouton, alors
laissez-moi vous le montrer. Comme vous pouvez le voir, encore une fois, je
crée une simple fenêtre de base, et dans un premier temps, je vais
définir un bouton. Tout d'abord, je vais définir un bouton et je l'emballe. Ensuite, je vais utiliser
des esquives avec reliure. Ensuite, je vais
utiliser plusieurs événements. Au début, je vais
utiliser un événement saisi par la souris. Donc, pour lier le bouton, la méthode de reliure par
points. Ici, je vais utiliser Enter, puis j'utilise la fonction Lambda Landa, E, impression, souris saisie. Ensuite, je vais
utiliser Leave Event. Donc tapez le bouton, reliez les points, laissez Lambda, enfin la souris
enfoncée, je vais utiliser l'événement de clic sur
le bouton Tapez dix points blindés. Bouton 1, imprime les dents du bouton. Si je définis ce fichier et que j'exécute ce code dans un terminal,
laissez-moi vous le montrer. Chaque fois que je passe mon
curseur au-dessus du bouton, si j'entre le
curseur de ma souris dans ce bouton, vous pouvez
maintenant le voir
imprimer saisi par la souris De même, si je retire
mon curseur de ce bouton, il imprime le tour de la souris. Si je coche ce bouton, vous pouvez le voir s'
imprimer, cliquez sur le bouton. Si je retire le
bouton à nouveau, encore une fois, il imprime comme
la souris, la souris entre et le bouton. C'est ainsi que plusieurs
événements fonctionnent ensemble. Et si vous souhaitez dissocier un
événement, oui, vous le pouvez. Pour cela, vous
devez taper le bouton tn point Unwind Unbind One. Je tiens à dire que maintenant, si vous cliquez sur ce bouton, il n'imprimera
rien. Laisse-moi te montrer. Donc, pour satisfaire à ce
code dans mon terminal, et si je maintenais mon curseur, maintenant vous pouvez voir une empreinte, la souris saisie, la souris glissée Mais si je clique dessus,
comme vous pouvez le voir, cela ne
fonctionne pas car ici nous
dissocions cet événement J'espère que
vous comprenez maintenant comment nous pouvons l'utiliser. Merci d'avoir regardé cette vidéo Stune pour le prochain tutoriel
28. La mise au point, l'état de l'accroche et l'état du widget: Bonjour, les gars. C'est
bon de te revoir. Il s'agit du dernier didacticiel
lié à la gestion des événements, et dans ce didacticiel, nous allons apprendre le focus, grab et l'état de l'assistant. Parlons maintenant de la concentration. Focus détermine quel assistant
reçoit l'événement clavier. Un seul magicien peut
se concentrer à la fois. Et si je parle de méthodes de focalisation
communes, alors nous avons un focus set. Cela permet à cet assistant de
se concentrer sur le clavier. Ensuite, nous avons Focus Gate. Il est écrit le magicien
qui se concentre actuellement. Enfin, nous avons la force de focalisation, travail de concentration forcée, même
la fenêtre n'est pas active. Étudions la tactique
et voyons comment fonctionne la concentration. Comme vous pouvez le voir, nous sommes
dans l'éditeur de code de mon studio et nous créons déjà un fichier
Python et nous
créons déjà un fichier Python focus
point pi et nous créons une
fenêtre de base simple en utilisant Kiner Maintenant, je vais
faire deux essais d'entrée. Donc, ici, je vais prendre deux champs de saisie
au total, et j'ai déjà emballé
ces deux champs de saisie, l'
entrée un et l'entrée deux. Ensuite, je souhaite créer un bouton. Et chaque fois que nous
appuyons sur le bouton, il se concentre,
il met l'accent sur l'entrée deux. Pour cela, je vais
définir un bouton variable, bouton égal à, je
vais définir un bouton. Bouton et j'appuie sur
ce bouton dans une fenêtre racine et
notre bouton prend cette entrée de focus sur deux Apricma
dans notre paramètre commun, nous utilisons une fonction Lambda Entrée Lambda à deux points, mise au point définie. Ici, nous utilisons la méthode de mise au point pour définir le focus sur le bouton deux. Chaque fois que nous appuyons sur le bouton, cette fonction Lambda
met l'accent sur l'entrée deux Après cela, je vais
emballer ce bouton. Je tape la méthode button point pack, et je vais définir celle-ci. Maintenant, transformons le
code dans notre terminal. haut de ce code dans notre terminal, vous pouvez voir
ici par défaut n'
y a pas de focus
dans notre champ de saisie. Mais si je clique sur
l'entrée 2, comme vous pouvez le voir, après avoir
cliqué sur ce bouton, commence à me concentrer
sur le champ de saisie 2. Si je clique en dehors de cette fenêtre n'importe où
en dehors de cette fenêtre, elle perd son focus. Maintenant, concentrons-nous
sur le champ de saisie 1. Lorsque je clique sur le
corps extérieur de cette fenêtre, je souhaite me concentrer sur le premier champ de
saisie. Revenons au
code. Pour cela, je vais taper entry one dot set focus, et je
vais définir ce fichier. Si je réunifie ce code, vous pouvez
maintenant voir Default Bifaul se concentrer sur le champ de
saisie 1 Si je clique sur ce bouton, il se concentre
maintenant sur le champ de saisie deux. Maintenant, relions en appuyant sur une touche pour afficher
le focus actuel Pour cela, je vais
utiliser la méthode root point bind. Ici, je vais lier root point bind et j'
utilise n'importe quelle méthode clé, et j'appelle cette
fonction show focus. Ensuite, nous devons
définir cette fonction. Pour définir la fonction, ils indiquent une focalisation,
même égale à zéro. Ensuite, insérez cette méthode, ici nous devons obtenir
le focus actuel. Pour cela, je vais
définir un courant variable,
courant égal à la porte de focalisation du point
racine. Ici, j'utilise la méthode, méthode de
la porte de
focalisation pour obtenir laquelle est focalisée. Ensuite, je veux épingler le
statut actuel à partir de type print, accent est
actuellement mis sur
virgule canine, je vais
définir cela Si j'exécute le code
dans notre terminal,
maintenant, si j'appuie sur n'importe quelle touche, une touche telle que je
vais appuyer sur A, maintenant vous pouvez voir imprimer, accent est
actuellement mis sur la saisie. Si j'appuie sur ce bouton et que j'
appuie sur n'importe quelle touche telle que G, maintenant j'imprime, l'
accent est mis sur l'entrée deux. Ici, nous associons le focus
à l'événement du mot-clé et nous
obtenons et nous obtenons la valeur du focus
. Lequel est ciblé ? Quel champ de saisie est ciblé ? Parlons maintenant de Grab. Capturez tous les événements
pour un assistant spécifique. C'est utile pour les modèles de dialogue
dans lesquels vous souhaitez bloquer l'interaction avec d'autres
fenêtres, sinon avec les assistants Je veux dire que cela va créer une autre fenêtre différente pour exécuter autre chose. Tant que vous n'avez pas fermé celui-ci, vous ne pouvez pas revenir à
l'original. Si je parle de sa méthode, nous avons la méthode grab set, la méthode grab release, la méthode
grab current. Méthode Grab set, capture
tous les événements jusqu'à leur publication. Libérez,
relâchez la
capture et renvoyez maintenant l'
assistant qui a saisi. Laissez-moi vous montrer la
démonstration de la façon dont nous pouvons l'utiliser. Encore une fois, je suis de retour dans l'éditeur de code de mon studio
utilisateur et je crée un fichier Python, récupère le point pi et je crée
la fenêtre de base. Dans un premier temps, je vais définir
un bouton permettant d' ouvrir une nouvelle
boîte à modèles, sinon des modèles. Je suis en train de définir le
bouton comme un bouton. À l'intérieur, nous le plaçons
dans une fenêtre racine, puis le
texte de notre bouton est open model, et il va commander
cette méthode, open model. Cette fonction, ouvrez le modèle, et j'emballe ce bouton. Nous devons maintenant définir que nous
pourrions définir cette fonction. Je vais donc définir ici la fonction, Dave ouvre le modèle. Ensuite, à l'intérieur de ce capot mathématique, je vais
définir
ici la boîte à modèles. Pour cela, pour créer la boîte à
modèles que je vais utiliser, je vais définir
un modèle variable, modèle étant égal à l'étiquette supérieure, et je vais le
cadencer dans une fenêtre racine. Ensuite, je vais définir titre et la géométrie
de ce modèle. Après avoir défini le
titre du modèle et la géométrie du modèle, je vais définir une étiquette. Étiquetez et je place
cette étiquette à
l'intérieur du modèle, je dis texte
et j'ai dit texte de niveau, fermez-moi avant de revenir
à la fenêtre principale. Nous devons fermer le modèle avant de revenir à
la fenêtre principale. Après cela, nous devons
créer le bouton de fermeture. Donc, ici, je vais
définir le bouton de fermeture. Et comme vous pouvez le voir,
dans la commande, nous utilisons la méthode model point destroy. Cette méthode va
détruire le mode. Ensuite, nous devons capturer
tous les événements de cette fenêtre. Pour cela, nous devons utiliser la méthode
model dot grab set. Ici, je vais
définir le modèle Dot Grab Set. Il capture tous les événements
de cette fenêtre. Après cela, une fois la fenêtre ouverte, nous devons nous
concentrer sur ce mode. Pour cela, nous devons utiliser la méthode de mise au point par ensemble de points du
modèle. Ici, je vais définir la focalisation par ensemble de points du
modèle pour
mettre l'accent sur le modèle. Ensuite, je vais suspendre l'exécution
jusqu'à la fermeture du modèle. Pour cela, nous devons
utiliser la méthode des fenêtres humides, un certain type de fenêtre humide, et je vais la
placer à l'intérieur du modèle. Je vais configurer ce
fichier. Ce fichier est configuré, vous le trouverez sur notre terminal, et comme vous pouvez le voir
dans notre fenêtre, nous avons un
nom de bouton ouvert en modèle. Si j'appuie sur ce bouton, comme vous pouvez le voir, cela
ouvre une fenêtre de modèle. Pity Fall a également mis l'accent sur
ce modèle de fenêtre. C'est pourquoi il est mis en évidence. Et comme je vous l'ai dit, j'
utilise ici la méthode grab point set. La méthode grab set
force tous les clics et les pressions de touches sur la
fenêtre du modèle, et non sur cette fenêtre Si j'essaie de cliquer sur ce bouton, comme vous pouvez le voir, cela ne fonctionne pas. Celui-ci est maintenant actif. Maintenant, nous nous concentrons entièrement sur cette fenêtre jusqu'à ce que vous la
fermiez. Donc, si j'appuie sur le bouton de fermeture,
sinon, je le ferme, alors nous avons retrouvé le
focus dans la fenêtre principale Maintenant, encore une fois, nous pouvons cliquer sur ce bouton et
ouvrir un nouveau modèle. C'est donc ce que nous pouvons
faire avec la méthode Grab set. Maintenant, permettez-moi de vous montrer une autre
démonstration de grab. Ici, je vais utiliser la méthode
Grab Release. Je crée donc ici un autre fichier
Python grabto point Pi, et ici je vais
expliquer comment nous pouvons utiliser Grab set et la méthode grab
Release ensemble Dans un premier temps, dans cette fenêtre, je vais définir un bouton. Je définis donc ici un
simple bouton en utilisant cette variable BTN et je tape, clique sur M. Ensuite, je vais
définir un autre bouton, qui va
déclencher un événement de verrouillage Je définis donc ce bouton, bouton et je teste ce bouton dans une fenêtre racine et notre
bouton prend un événement de capture. Et celui-ci et ce bouton commandent cette
fonction, log event. Maintenant, nous devons travailler
sur cette fonction. Nous devons créer et
définir la fonction. Mais je vais le
définir plus tard. Créons un autre bouton. Ici, je vais
créer un autre bouton, qui
déclenchera l'événement grab ? Pour cela, encore une fois, je
définis ce bouton et le texte de
notre bouton est
release event et il va commander cette
méthode, release event. Jusqu'à ce point, je vais utiliser un
niveau pour imprimer notre statut. Je définis un statut variable, statut étant égal au niveau et je le
place dans une fenêtre racine et notre texte n'est pas actif
et j'emballe ce statut. Ensuite, je vais définir la fonction de journalisation des événements et la fonction d'événement de
publication. C'est ce que nous allons faire. Dans notre fonction de
journalisation des événements, je vais configurer le Grab. Dans la méthode d'événement Log, cliquez sur le bouton Grab set. Maintenant, une fois que Grab est actif, les ticks ne fonctionnent que sur ce bouton. Je veux montrer le
statut de notre niveau. Pour cela, nous devons
configurer ce stata. Je vais étiqueter le point d'état
Cfig et je change le texte
du statut égal à text
égal à grab is active Cliquez sur W sur ce bouton. De la même manière, nous devons
travailler sur la méthode des événements de publication. Ici, je vais définir
cet événement, cet événement de sortie, cet événement sortie de
cassette, ce lancement par
bouton. Après la publication de la capture, le statut
va également changer. Pour cela, encore une fois,
tapez un texte de configuration à points
égal à grab released Vous pouvez cliquer n'importe où. Et je vais configurer ce fichier. Exécutons maintenant le
code dans notre terminal. Quelqu'un pour appuyer sur le bouton Exécuter. Comme vous pouvez le voir,
cette fenêtre s'ouvre et nous
avons plusieurs boutons. Maintenant, vous pouvez voir dans notre
statut qu'aucune capture n'est active. Je vais maintenant cliquer
sur l'événement de publication. Si je coche Libérer l'événement, maintenant il s'imprime, lance la publication. Vous pouvez cocher n'importe où. Maintenant, nous pouvons
cliquer n'importe où. Nous pouvons appuyer à nouveau sur le bouton de lancement de l'
événement. Mais si vous cliquez,
saisissez même le bouton. Maintenant, notre statut a changé. J'imprime, la saisie est active. Les clics ne fonctionnent que sur ce bouton. Maintenant, si j'essaie de
régler, cela ne fonctionne pas. Même si j'essaie d'appuyer sur
le bouton SEM, saisir, mais ça ne marche toujours pas. Cela ne fonctionne que
là-dessus, cliquez sur le bouton « Cliquez sur moi ». Je tiens à dire sans attendre tous les boutons fonctionnent correctement. Mais avec grab only,
cliquez sur le bouton « Cliquez sur moi »
pour répondre. Celui-ci. Si je clique n'importe où
dans notre fenêtre, elle prie
toujours, cliquez sur le bouton M. Jusqu'à ce que nous relâchions la capture, les
autres boutons sont ignorés. Voilà ce que l'on
peut faire avec le crabe. C'est tout pour ce tutoriel. Dans le prochain tutoriel, nous allons
parler de Wizard State. Merci d'avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel.
29. État de l'widget State: Salut, les gars, c'est bon de vous revoir. Il s'agit d'un autre didacticiel
lié à la gestion des événements Kiner. Aujourd'hui, dans ce
tutoriel, nous allons apprendre l'état du magicien. L'option d'état des
interassistants contrôle si un assistant est désactivé ou s'il s'agit
d'un état Hobart spécial Si je parle
des états communs, normal, désactivé et actif. Normal est entièrement fonctionnel. désactivation de la rétrogradation
ne peut pas être cliquée ou saisie T. Un actif est
spécialement utilisé pour le style, Henry passe le pointeur de la souris dessus Permettez-moi maintenant de vous montrer un exemple
avec l'état du bouton Wizard. Comme vous pouvez le voir, c'est l'éditeur de code du
studio REM, et ici nous créons un
simple fichier Python. Les boutons indiquent le point pi
et nous
créons une fenêtre intermédiaire et nous Dans un premier temps, je vais
définir un bouton. Ici, je vais associer VTN à
button et je vais le
mettre dans une fenêtre racine, et ici j'ai dit
Button Taste Enable. De plus, j'appelle une
fonction Lambda en utilisant paramètre
commun Lambda
et elle va
peindre cette instruction, un kit de
boutons Ensuite, j'emballe ce bouton. Ainsi, chaque fois que nous
appuierons sur ce bouton, cette ligne s'affichera . Cliquez sur le bouton
dans notre terminal. Ensuite, nous devons créer un autre bouton à bascule qui
déclenchera une fonction Ici, je vais définir
un autre bouton de bascule, le bouton bascule étant égal au bouton, et le texte de notre bouton est
activé et désactivé Et ce bouton va déclencher
ce bouton de bascule de fonction. Maintenant, cette fonction
va désactiver et activer ce bouton,
le premier bouton. Donc, ici, je vais définir la fonction, appuyer sur le bouton de bascule Et dans le cadre de cette fonction, je vais utiliser l'état des hanches. bouton Herodoty I à
l'intérieur du carré s a un état
égal à la normale Si cet état est normal, alors dans cet état de hanche, je vais
configurer le bouton. Je vais configurer
cette variable de bouton. Ici, je vais configurer le
total en paramètre. Donc, pour taper tn point config dans
le processus rond,
je vais d'abord attribuer un
nouvel état de paramètre, et je
vais le désactiver. Je vais également
modifier le texte de ce bouton
qui est désactivé. Cela fonctionne si la condition
correspond à cela, si c'est normal. Ensuite, dans nos conditions actuelles ici, je
configure la configuration des points de bouton, l'état devient normal
et le texte active l'égging Maintenant, notre bouton à bascule
ressemble à un interrupteur. La première fois, si nous appuyons dessus, le bouton sera
désactivé
et si j'appuie à nouveau sur le bouton à
bascule, le bouton redeviendra normal Configurons le fichier et exécutons
le code dans les délais impartis. Pour exécuter ce code,
comme vous pouvez le voir, nous avons un bouton appelé Activer. Si j'appuie sur le bouton Activer, vous pouvez
maintenant remarquer dans notre terminal que le bouton d'impression est
actionné. Maintenant, ça marche bien. Mais si je clique sur Désactiver maintenant, le statut de ce bouton
devient désactivé. Vous pouvez également voir le texte de
ce bouton. Maintenant, si j'essaie d'appuyer sur le
bouton, ça ne marchera pas. Mais si j'appuie à nouveau sur le
deuxième bouton, il redevient activé. Maintenant, ça marche bien. Voici un exemple
de l'état des boutons. Permettez-moi maintenant de vous montrer un autre
exemple avec entry iz state. Comme vous pouvez le voir, je crée un autre
assistant de saisie de fichiers Python, underscostate point Pie et je crée une fenêtre
simple de base premier temps, je vais
prendre un assistant de saisie, type d'entrée équivalent à
une entrée, et je vais emballer cette entrée. Ensuite, je vais
définir un bouton qui va appeler le
verrouillage et la fonction Lo. Je vais définir le bouton, bouton égal à
bouton
et notre bouton prend cette entrée et cette commande dans le journal, et il appellera
cette fonction, Log Unlock. Ensuite, j'emballe ce bouton. Ensuite, nous devons
définir cette fonction. Je vais donc définir la
fonction, Dave, verrouiller et déverrouiller. Ensuite, dans cette fonction, je vais utiliser bcdion Ici, je vais taper une entrée, état égal à la normale, puis je veux configurer
l'assistant de saisie. Ici, nous devons taper
entry point config, state égal à disabled. Je vais le désactiver. Je vais également
modifier le texte du bouton. Je vais y arriver.
Le point C fig t du bouton est égal pour déverrouiller l'entrée. Ensuite, dans notre partie s, certains types sont dans
la condition s, je vais rendre
celle-ci normale. Entrez la configuration des points,
je vais la rendre normale et je veux aussi
changer le texte du bouton. Je tape donc le point C fig
t égal à l'entrée du verrou. Je vais configurer ce fichier.
Après avoir défini ce fichier, je vais exécuter ce
code dans notre terminal. Après avoir cliqué sur le bouton Exécuter, vous pouvez voir
ici
notre champ de saisie. Maintenant, si j'essaie de saisir
quelque chose comme ABCD, peu importe, cela fonctionne bien Mais si j'enregistre cette entrée, si je clique sur ce
bouton Journal, bouton LogEntry, vous pouvez
maintenant voir que
nous ne pouvons
rien mettre ou supprimer
de ce flux d'entrées Et si vous voulez le
déverrouiller encore et
encore en appuyant sur ce
bouton, déverrouillez l'entrée. Maintenant, il se déverrouille à nouveau. Maintenant tu peux faire
ce que tu veux. Voici donc l'exemple
avec l'assistant de saisie. Je vais maintenant vous montrer
le dernier exemple. Dans cet exemple, nous allons
parler de l'état actif. Je crée un fichier Python
actif underscostate point Pi. Comme je vous l'ai dit plus tôt, l'état actif est principalement destiné styliser le bouton lorsque vous le
survolez ou le léchez Permettez-moi de vous montrer l'exemple. Dans un premier temps, je vais
définir un bouton. Comme vous pouvez le voir, ici
je définis un bouton, et notre bouton
prend le dessus sur moi,
et notre bouton, la couleur de
fond du bouton, est bleu clair. Et j'emballe ce bouton avec un rembourrage de
20 pixels chez YxS. Maintenant, après avoir défini ce fichier, si je clique sur ce bouton, vous pouvez voir le bouton
ici. Si je clique sur ce bouton, vous pouvez voir quand
le bouton devient actif, la
couleur de fond du bouton devient grise. Vous pouvez voir la couleur d'
arrière-plan gris de ce bouton car il s'
agit de la couleur par défaut, mais je souhaite changer la couleur lorsque le
bouton sera actif. Maintenant, le bouton est
actif parce que j'appuie sur le bouton avec le bouton du rouge à lèvres de ma
souris. Si je le soulève, encore une fois, il redevient normal et sa couleur de fond
devient bleu clair. Je souhaite donc changer la couleur d'arrière-plan
active. Pour cela, nous devons
utiliser un paramètre appelé Bagram
actif et j'
attribue ici une couleur vert clair Maintenant, une fois que j'ai ouvert ce fichier, si je repasse ce code et que j'
essaie de cliquer sur ce bouton, si j'active ce bouton, vous pouvez voir la couleur de
fond devenir vert clair C'est donc de cela que
je parle. Il s'agit de l'utilisation
de l'état actif. J'espère que c'est clair pour toi maintenant. Merci donc d'
avoir regardé cette vidéo. Restez à l'affût de notre prochain chapitre.
30. Mini projet d'application de dessin avec méthode d'événement et de liaison: Bonjour, c'est bon de
voir vos valises. Aujourd'hui, nous allons créer une application intter simple
en utilisant la méthode bind En gros, je veux montrer comment nous pouvons utiliser la
méthode biliaire dans nos projets. Ici, nous allons créer
une application de dessin simple. Vous pouvez tracer des lignes
à l'aide de votre souris. À l'aide de la souris, tracez
une ligne sur le canevas. Vous pouvez également changer la couleur de peinture lorsque vous placez une touche particulière. Permettez-moi de vous montrer
la démonstration ce que nous allons
construire aujourd'hui. Comme vous pouvez le constater, il s'agit de
notre fenêtre racine principale. Dans cette fenêtre,
nous avons un canevas, puis une étiquette. Maintenant, la couleur actuelle est sélectionnée en noir. Il s'
agit de la valeur par défaut. Si j'essaie de tracer une ligne, vous pouvez
maintenant la voir tracer
une ligne dans notre canevas. Pour tracer une ligne, il faut déplacer la souris
dans la zone du canevas. Ensuite, nous devons appuyer sur la touche
gauche et faire glisser notre souris. Cela
va tracer une ligne. Maintenant, vous pouvez remarquer qu'il trace
la ligne en noir. Vous voulez maintenant
changer de couleur. Maintenant, vous décidez
d'utiliser la couleur rouge. Si j'appuie sur R, comme vous
pouvez le voir sur notre étiquette, couleur actuelle
est imprimée en rouge. Maintenant, si j'essaie de tracer une ligne, vous pouvez voir une ligne de couleur rouge. De même, si vous
souhaitez utiliser la couleur verte, vous
devez appuyer sur G. Maintenant, vous pouvez le voir dessiner
une ligne de couleur verte. Si vous voulez du jaune,
vous devez appuyer sur Y. Maintenant, la couleur actuelle est le jaune Vous pouvez voir la ligne jaune. Pour le bleu, vous devez appuyer sur B. Maintenant, la couleur actuelle est le bleu. De même, si
vous voulez du violet, couleur
actuelle est le violet et vous tracez une ligne
de couleur violette. Si vous voulez revenir à la couleur
noire, dans ce cas, vous
devez passer K. Comme vous pouvez le voir, nous pouvons changer couleur et tracer une ligne. C'est une application de dessin très simple, et je crée cette
application à l'aide de la méthode
Bind pour comprendre
comment fonctionne la méthode de liaison,
comment fonctionnent les événements du clavier et
comment fonctionnent les événements de déplacement de la souris. Commençons donc par la pratique. Enfin, nous allons commencer
à coder. Comme vous pouvez le voir, nous créons le projet de fichier
Python point pi. Tout d'abord, nous importons le
module Kiner, nous importons tout. Ensuite, nous créons la fenêtre principale. Dans un premier temps, nous créons ici
une variable d'instance de classe
TK et la
variable est root. Maintenant, root devient la fenêtre principale. Ensuite, nous définissons le titre du point racine et nous prononçons ici le nom de
notre projet, dessinons et changeons de couleur
avec la méthode de liaison. Ensuite, nous définissons une géométrie
pour cette fenêtre, W 500 et hauteur 400. Enfin, nous exécutons notre boucle principale. Maintenant, dans un premier temps, nous devons créer un canevas pour la zone de dessin. Pour cela, je vais définir une variable et le nom de notre
variable est Canvas. Attachez donc Canvas égal à Canvas. Ensuite, à l'intérieur de la barre ronde, il est dit : « Je vais placer ce
canevas dans la fenêtre racine », puis j'ai dit « couleur de fond » La
couleur de fond de notre toile est le blanc. Ensuite, nous définissons
la largeur de ce canevas
(largeur 480 pixels) et hauteur (320 pixels). Après cela, je vais
emballer cette toile. Tapez canvas point pack et ici j' attribue un peu de rembourrage à YxS.
Je vais définir ce fichier Après avoir défini ce fichier, si j' exécute ce code dans notre terminal,
voici à quoi
ressemble notre zone de canevas dans cette fenêtre. Ensuite, imprimez une étiquette d'état
pour la couleur d'arrière-plan. Donc, ici, je vais
définir un label. Donc, pour taper
l'étiquette d'état égale à l'étiquette, nous la mettons dans une fenêtre racine, et ici, je vais
mettre ce texte, de couleur noire
actuelle. Ensuite, j'emballe le statut,
cette étiquette de statut. Si je définis ce fichier et que je lance
cette fenêtre dans un terminal, vous pouvez
maintenant voir
l'étiquette d'état. La couleur actuelle est le noir. Ce serait la
couleur par défaut de notre pinceau. Après cela, nous devons
stocker la couleur actuelle. Nous devons stocker la
couleur actuelle dans une liste modifiable, afin qu'elle puisse être modifiée
en fonction Tout d'abord, je vais taper
un single et le commenter. La couleur actuelle est stockée
dans une liste modifiable, afin qu'elle puisse être modifiée
dans les fonctions Je vais donc commencer la couleur
actuelle dans une liste, et je vais
changer la
couleur actuelle à l' aide d'une fonction. Ensuite, nous devons lier le
canevas et
appeler un événement qui va s'
afficher dans ce canevas. Pour cela, tapez un commentaire en héros, faites glisser
la souris pour Ensuite, je vais lier la méthode de liaison par points de
Canvas, et dans les runras,
j'utilise cet événement courant Ici, j'utilise cet
événement de souris B one motion. Cela signifie que vous devez faire glisser la souris
avec le bouton de levage. Donc, lorsqu'il a déclenché cet
événement à l'aide de notre souris, il va appeler
cette fonction draw. J'utilise donc ici l'événement de la souris. Ensuite, je vais utiliser un événement
clavier pour
changer la couleur, pour changer la couleur
de notre pinceau. Pour cela, nous devons
taper Root point bind et, dans les ronders, herro
utiliser cet événement clé d'événement Cela signifie n'importe quel
événement clé qui
va et va déclencher
cette fonction, changer de couleur. Maintenant, en fonction de
la position de la souris, cette fonction de dessin
va tracer la ligne. Pour cela, je vais
définir la fonction. Ici, je vais définir la fonction de
dessin, appuyez sur Dessiner. Et je vais réussir l'événement. Dans notre cas, un mouvement,
voire un événement de mouvement. Il se déclenche lorsque vous
cliquez et faites glisser la souris sur ce canevas. Ensuite, nous extrayons les positions XX et
YXS de notre Carson. Pour cela, je vais
définir deux variables X et Y,
X égal à l'événement X et
Y égal à l'événement Y, et nous stockons les coordonnées
dans cette variable. Ensuite, nous devons tracer des lignes. Pour cela, nous devons
utiliser la méthode create like. Alors tapez, Canvas, Canvas
point, Createine, celui-ci. Ensuite, à l'intérieur des versets ronds , nous devons d'abord
définir le point de départ. Je vais passer XX est la
valeur et YxS la largeur. Passez donc X, Y. C'est le point de départ Également là pour passer le point final. Pour cela, jusqu'au coma
, je veux créer le point final à un pixel près de
la création d'un petit point. Pour cela, je vais
ajouter X à un. Je vais ajouter un testament
avec toutes les coordonnées. Y plus un. Puis, virgule supérieure, je vais définir
la couleur de remplissage Pour un remplissage par couleur de remplissage égal à ici, je vais
utiliser la couleur actuelle. Celle-ci est la
couleur actuelle que nous avons définie. Je copie la valeur, la couleur
actuelle, la variable, et ici je vais
attribuer la couleur actuelle, contrôle V. Ensuite, à
l'intérieur du carré, je vais
définir l'index Comme vous pouvez le voir à la fois,
indiquez qu'il ne
transmettra qu'une seule valeur. Je vais passer le numéro d'
index zéro. Ensuite, vous devez définir. Avec le trait de ligne. Pour cela, je vais
taper avec, je vais utiliser trois pixels Je vais configurer ce
fichier. De la même manière, je vais définir
une autre fonction. Je vais taper Dave et cette fonction permet de
changer la couleur de changement de couleur. Au cours des rondes, je vais
passer le clavier,
véritable épreuve de clavier. Ensuite, dans le polen, ici je vais taper fa,
je vais taper pass Et je vais configurer ce
fichier. Je vais maintenant définir ce fichier et exécuter ce code
car nous devons vérifier
s'il trace
correctement ou non notre ligne. Par défaut, comme je vous l'ai dit, il va sélectionner
la couleur noire car les cheveux sont noirs, la couleur
actuelle est noire. Je vais donc exécuter ce fichier. Et si je passe le pointeur de la souris
dessus dans ce canevas et que je le place, cliquez et faites glisser, comme vous
pouvez le voir, tracez une ligne Nous avons donc réussi à
tracer une ligne. Il ne reste plus qu'à changer de
couleur. Passons au code. Vous pouvez maintenant remarquer ici
que nous utilisons l'événement du clavier. Chaque fois que nous louons une
touche de notre clavier, elle déclenche
cette fonction. Maintenant, nous devons
obtenir la valeur clé, laquelle est louée. Pour obtenir la valeur, je
vais définir ici une
variable appelée clé, clé égale au caractère
point de l'événement, et je vais convertir ce
caractère en minuscule J'utilise un type R, il va le convertir
en minuscules Ensuite, je vais
définir un dictionnaire des couleurs. Pour cela, je vais définir
une variable de couleurs égales à des couleurs égales à celles de
l'intérieur du Cls. Nous lui attribuons un dictionnaire. Pour R, la valeur du dictionnaire est rouge. F G, c'est vert. Pour B, c'est bleu, Y est jaune, pour Ps violet, pour O c'est
orange et pour K c'est noir. Nous devons maintenant changer la couleur actuelle
avec les couleurs sélectionnées. Pour cela, je vais utiliser la condition
EP si K en couleurs. Ensuite, dans cette condition EP, couleur
actuelle est égale
au point K. Ici, nous sélectionnons l'indice de couleur
actuel, qui est zéro et je vais
le remplacer par
la valeur que nous transmettons. Supposons que si l'utilisateur appuie sur G, il remplacera
la couleur noire
actuelle G. Ici, nous accédons à la
couleur en utilisant le dictionnaire, les couleurs, et à
l'intérieur des bases carrées nous passons la valeur clé. À partir de ce dictionnaire,
il va obtenir la valeur et remplacer la couleur
actuelle par celle-ci. Après cela, vous souhaitez également
changer la couleur de l'état. Pour cela, ici, je vais
taper status label
dot config Method. Et d'abord, je vais
changer le texte,
et j'utilise la couleur
actuelle d'Epstring à voitures à
l'intérieur du
troupeau de Carlos pour passer à la La couleur actuelle à l'intérieur du
carré résiste à l'indice zéro. Maintenant, s'il devient vert, sinon bleu, il
remplacera le noir par du
bleu sinon vert. Nous devons également
gérer l'erreur. Si l'utilisateur passe une autre
touche telle que la touche Scape, touche
Shift ou toute autre touche,
nous devons la gérer. Nous devons imprimer la valeur. Pour cela, dans notre partie s, à l'intérieur du bloc s, je vais taper un texte status
level.com égal à nnn key, et ici nous allons
imprimer la Quel type d'utilisateur de valeur ? Supposons que le type d'utilisateur A ne corresponde pas à
notre dictionnaire. Ensuite, il va
imprimer la clé Nun A, et je vais définir ce fichier Après avoir défini le fichier,
exécutons le code dans notre terminal et voyons s'
il fonctionne correctement ou non. J'exécute donc ce code
dans mon terminal et vous pouvez voir ici
la fenêtre Canvas. Par défaut, la
couleur actuelle est celle-ci. Si je trace une ligne, elle trace la ligne en noir, mais je veux utiliser la couleur rouge. Pour cela, nous devons utiliser, je vais appuyer sur la commande R. Lorsque j'appuie sur R, vous pouvez maintenant
voir que la couleur actuelle est le rouge. Maintenant, si je trace une ligne, vous pouvez voir que la couleur de la
ligne est rouge. De même, si vous
souhaitez changer la couleur, exemple si vous
souhaitez utiliser la couleur verte, vous
devez appuyer sur
G. Maintenant, si je trace une ligne, vous pouvez voir la ligne de couleur
verte. Si vous voulez du bleu,
vous devez appuyer sur B et vous pouvez voir ici
la ligne de couleur bleue. Si vous voulez de l'orange,
vous pouvez appuyer sur O. Maintenant, vous pouvez voir la ligne de couleur
orange et si vous voulez à nouveau du noir, vous
devez féliciter
K. Après avoir appuyé sur K, vous pouvez à nouveau voir la ligne de couleur
noire. Voici comment vous pouvez changer de
couleur dans notre canevas. J'espère que
ce petit projet vous plaira. Merci d'avoir regardé cette vidéo, restez à l'affût de nos prochains studios.
31. Variables Tkinter et liaison de données: Bonjour, les gars.
Contente de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et aujourd'hui dans ce tutoriel, nous allons apprendre les
variables Kiner et la liaison de données Kinar fournit des classes
variables spéciales telles que stringware, intvariable, double ware,
boolean Nous le connaissons déjà. En gros, il agit comme une enveloppe autour des valeurs Python
normales, ce qui permet
d'évaluer la
liaison de données entre votre code
Python et les assistants Cela signifie que lorsque la
variable change, l'assistant se met à jour automatiquement lorsque la valeur de l'assistant change, la variable est
automatiquement mise à jour. Si nous vous montrons les classes de
variables, ce sont toutes des classes de variables. Nous le connaissons
déjà et nous utilisons
déjà dans nos
précédents tutoriels. Stringwar Itware, double ware,
Bollenware, stringwar
stockaient du texte
sinon du texte sous forme de chaîne, comme Hello,
Itware stockait uniquement des augmentateurs, tels que 42, double ware, stockez des nombres flottants,
tels que le nombre décimal 3,14 Et les booléens étaient stockés de part et
d'autre. Permettez-moi maintenant de vous montrer un exemple où je vais utiliser
tous les types de variables. Comme vous pouvez le voir, je définis ici une
fenêtre Kinker simple de base dans ce fichier Python, et le nom de notre fichier Python est KinkerUnderscore Dans un premier temps, dans cette fenêtre, je vais définir
quelques variables. Je vais définir
une variable de chaîne, une variable
incisive, une variable double et
une variable de Bollin Au début, je vais
définir une variable de chaîne, string were equal
to Tkt string ware et dans le run brrass
, j'ai dit value, ensuite, je vais définir la variable
Itiser, intvare égal à tat in ware et je vais définir
la valeur et ici je vais
définir la Ensuite, je vais
définir le double ware. Je veux définir
la valeur féminine. Les doubles sont égaux
à k double ware. Dans la
valeur rundress égale à 3,14, je vais enfin
définir la valeur booléenne Les valeurs booléennes étaient égales à la valeur de
Bollenvre égale à vrai. Ensuite, je vais définir quelques ensembles liés
aux variables. Pour cela, je vais
taper une seule commande en, UZx liée à des variables Ensuite, je vais prendre le
champ de saisie pour la variable de chaîne. Tapez donc t point jury et je vais placer le
champ de saisie dans cette fenêtre racine. Ensuite, prend une variable égale à la chaîne où et je
range cette variable. Pour la variable intsor, je
vais utiliser la boîte de rotation. Je vais essayer de faire tourner Box, je vais le
placer dans une fenêtre root. Ici, je vais
définir la valeur minimale, je veux définir à partir de
la valeur zéro et valeur la
plus élevée 100,
deux valeurs 100. Et je vais définir la variable de
goût int ware. C'est dix ans. Par défaut, il en sélectionne déjà dix. Ensuite, je vais prendre un autre champ de saisie
pour les goujons. Tapez l'entrée du ticket, et je vais le
placer dans une fenêtre racine et prendre une variable égale à Dwelwre. Je remplis ce champ de saisie Ensuite,
pour le Bullen ware, je vais cliquer sur le bouton
de vérification Bouton de vérification en T, je vais le
placer dans une fenêtre racine, et notre bouton de vérification prend cet âge. J'ai
dit la variable égale à Wollen War C'était vrai ou faux. Vous pouvez maintenant remarquer que chaque
assistant est lié à une variable. Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans notre terminal, vous pouvez voir le résultat. Il s'agit de notre premier champ de saisie. Voici la boîte de rotation, notre deuxième champ de saisie, et voici le bouton à cocher. Ensuite, je vais
définir un bouton. Cela va déclencher
une fonction et elle pourrait imprimer toute la
valeur dans notre terminal. Je vais donc
définir le bouton ici. Aux boutons, et je
vais passer le bouton
dans une fenêtre racine, texte est égal pour afficher les valeurs. Puis commande égale pour afficher les valeurs, et j'
emballe ce bouton. Et maintenant, nous devons définir
la fonction show value. Vous copiez donc le nom de la fonction, et je vais le définir ici. Ils affichent des valeurs, puis
à l'intérieur de cette fonction, à
l'intérieur de cette fonction, je vais imprimer toutes
les valeurs des variables, telles que la variable chaîne, la variable int, la variable double
et la variable booléenne Donc, pour la première variable, je vais taper print string et hemo type stringw dot gate En utilisant la méthode string point Gate, nous pouvons obtenir une valeur
à partir de cette variable. Nous le savons déjà. J'essaie de vous le montrer
et de la même manière,
j'obtiens la valeur de toutes les variables
telles que la valeur de la variable int, la valeur variable
double et la valeur de la variable
booléenne Nous devons utiliser gatewthod
pour obtenir la valeur
d'une variable . Je
vais configurer ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal et que j'appuie sur
le bouton, affiche la valeur. Maintenant, vous pouvez voir dans mon terminal
qu'il affiche toutes les valeurs des variables. String hello, in ten, double 3,14 et Boolean Si je ne suis pas d'accord avec ce
bouton de vérification et
que je le félicite, encore une fois, vous pouvez maintenant voir dans notre
variable booléenne qu'elle tombe Voici l'exemple
avec tous les types de variables. J'espère que c'est clair pour toi maintenant. Maintenant, permettez-moi de vous montrer
un autre exemple. Maintenant, permettez-moi de vous montrer
un autre exemple mise à jour en temps
réel à l'aide de la méthode d'ajout de trace par
points. Un objet variable tel que Stringware intserware
possède une méthode appelée point trace add qui exécute
une fonction automatiquement
chaque fois que une fonction automatiquement
chaque fois Il est exécuté automatiquement. Laissez-moi vous montrer comment nous pouvons l'utiliser. Donc, d'abord, je vais
définir un string ware. Pour cela, je vais définir une variable text ware égale à tdt string ware Hemo
said nothing as value Ensuite, je vais
prendre un champ de saisie. Ici, je prends le
champ de saisie dans la variable d'entrée, et j'ai lié ce champ de saisie
à cette variable de texte. Ensuite, je vais définir une étiquette qui
imprimera la valeur actuelle. Je vais taper label
égal à tkdot label, et je le place dans une fenêtre racine, et dans un texte, tapez
quelque chose au-dessus Et j'utilise une vraie police
et la taille de police est de 14. Et puis j'emballe cette étiquette. Maintenant, pour déclencher la fonction
trace at, je ne vais utiliser aucun bouton. Je vais lier Text
Ware, point, trace à. Ici, j'utilise la méthode. Le texte est un point, un point, un trait. À l'intérieur de la runbra, il est écrit, et j'appelle cette
fonction sur texchange Quand j'écris quelque chose
dans le champ de saisie, cela met la
valeur actuelle à cette variable. Fondamentalement, la variable de texte renvoie à
la fois à l'entrée et à la fonction Web d'
appel. Et lorsque la variable change
dans le champ de saisie, cette méthode déclenche et
appelle cette fonction. Et maintenant, nous devons définir
le texte sur la méthode de modification. Cette fonction, Suntape, enregistre le texte en
cas de modification. À l'intérieur des ronds, j'utilise
ici des arcs en étoile. Si les paramètres supplémentaires ne vous
intéressent pas, vous pouvez utiliser des arcs en étoile. Après cela, nous avons configuré
cette configuration de point de niveau d'étiquette, configuration de point de
niveau, et je
souhaite changer le texte en valeur. Je sélectionne le
paramètre de texte, et à l'intérieur de celui-ci, j'utilise la valeur actuelle d'Estre
dans le calibrass, nous devons obtenir la
valeur actuelle en utilisant la méthode de la porte Je tape une porte à deux points. Et si je définis ce fichier et que j'
exécute ce code dans mon terminal, vous pouvez voir la fenêtre
ici. Maintenant, si je tape quelque chose
dans le champ de saisie, supposons un, deux, trois, quatre, comme vous pouvez le voir,
cela s'imprime instantanément sur notre étiquette. Je le montre sur notre étiquette.
Tu peux taper n'importe quoi. Cela peut être un caractère, un
point, peu importe. Voici l'exemple
de mise à jour en temps réel dont nous retracons la méthode. Elle a déclenché la fonction lorsque la
valeur de la variable est modifiée. Je ne travaille qu'avec des variables. C'est tout pour ce tutoriel. Merci d'avoir regardé
cette vidéo,
restez connectés pour notre prochain tutoriel.
32. Boîtes à message (messagebox) ): Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et aujourd'hui dans ce tutoriel, nous allons travailler
sur les boîtes de dialogue. Kinter est livré avec trois types
de boîte de dialogue : boîte de message, boîte dialogue de
champ et sélecteur de couleur À l'aide de la boîte de message, vous pouvez afficher les informations d'avertissement et d'erreur, et à l'aide de la boîte de dialogue de champ, vous
pouvez ouvrir et enregistrer des fichiers. Et en utilisant le sélecteur de couleur, vous pouvez choisir n'importe quelle couleur Aujourd'hui, dans ce
tutoriel, je vais
parler de la boîte de message Le module de boîte de message Kinter
est utilisé pour afficher une boîte de dialogue
contextuelle avec un message
et un bouton optionnel Si j'en parle de fonction
commune, elle est livrée avec la fonction
d'affichage des informations. Il est utilisé pour afficher les informations
Papa, puis pour afficher l'avertissement. Il est utilisé pour avertir papa. Afficher zéro, il est utilisé
pour afficher l'erreur papa. Posez une question. C'est
écrit oui ou non. Ensuite, demandez à annuler. C'est écrit pour Forbes. Alors demande, oui, non. C'est écrit pour ou faux aussi. Enfin, nous avons
demandé une nouvelle tentative d'annulation. Il est écrit par nos Fabs. Commençons par l'aspect pratique et voyons comment nous pouvons utiliser la boîte à déchets. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de
mon studio utilisateur, et je crée un ensemble de points principal pour un
fichier Python et nous créons ici une fenêtre Kiner
de base Ensuite, pour utiliser une boîte à déchets, nous devons importer une boîte à déchets. Je vais taper à partir de la boîte de dialogue
Kinter Import. Après avoir saisi la boîte de message, je vais définir un bouton qui va
déclencher une fonction. Donc, pour taper pk point button, je teste ce bouton
dans cette fenêtre racine et notre bouton prend des cases Ts,
show masses Et ce bouton commande
cette fonction, montrez-le. Maintenant, nous devons définir
cette fonction, afficher. Définissons maintenant la fonction. Donc ici, je vais
définir Dave, tout
afficher dans la fonction. Ici, dans un premier temps, je souhaite afficher des informations dans
notre boîte de message. Donc, pour utiliser cette méthode, la boîte de
message point Afficher les informations. Dans un premier temps, nous
devons transmettre le titre. Dans notre cas, info. Ensuite, nous devons transmettre le message
d'information. Si je définis ce fichier
, que j'exécute ce code dans notre terminal et que j'appuie sur ce
bouton, la boîte de dialogue s'affiche. Afficher les boîtes de message,
ici vous pouvez voir la fenêtre d'informations, la fenêtre de message
d'information. Si j'appuie sur OK, cette fenêtre
se ferme. Il s'agit donc du premier exemple
de boîte de dialogue de message. Maintenant, permettez-moi de vous montrer un avertissement. Je voudrais commenter cette ligne, et ici, je vais
taper message box
point show warning Passez d'abord
pour transmettre le titre, puis pour transmettre les messages
d'avertissement. Il s'agit d'un message d'avertissement. Utilisez ce fichier si j'ai saisi
le code dans mon terminal et que je recommande d'afficher les boîtes de message. Ici, vous pouvez voir
le panneau d'avertissement et ceci est un message d'avertissement. Ensuite, nous avons un message d'erreur. Je commente ce mensonge et je vais afficher
le message d'erreur. Je vais afficher une erreur dans la boîte de
message Showeror point show. abord, nous devons
fournir le titre puis notre message d'erreur. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal et que j'
appuie sur ce bouton, vous pouvez voir
ici
le message d'erreur
avec un signe en croix, cette icône. Maintenant, laissez-moi vous montrer que vous demandez à
Quotien, mais avant de commenter cette ligne et d'utiliser ask
QuotienF, je vais
définir une variable et notre
variable m Réponse 1 égale à
Messes Boox Dot Ask Quoi. abord, pour fournir
le quotien du titre ,
puis nous devons demander le quotien : aimez-vous Python Prononcez ce dicton, cet utilisateur
a deux options, oui ou non. Pour épingler la réponse, je vais
taper print statement. Au cours des rondes, il y a ask ui et je
vais donner la réponse, oui ou non. Et je
vais configurer ce fichier. Je définis ce fichier si j'exécute
ce code dans mon terminal. Et appuyez sur ce bouton. Maintenant, cette boîte de dialogue est un
quotient avec un signe verbal. Aimez-vous Python, oui ou non ? Si je passe oui, comme vous pouvez le voir, vous pourriez terminer votre location en tant
que Quotien Maintenant, je vais vous montrer
une autre boîte de dialogue. Mais avant de commenter
cette ligne et ici, je vais déclarer une autre
variable, réponse deux. Répondez
à deux égales à des masses bog dot sn
comme titre, je
vais passer sn Tu veux continuer ? Dans Askino, si vous appuyez sur Oui, cela signifie que c'est vrai, et si vous appuyez sur Non, cela signifie que
c' est faux. Laisse-moi te montrer. Je vais peindre
la réponse
à la valeur et je vais
sous-traiter ce fichier et exécuter ce
code dans notre terminal. Pour exécuter ce code, si j'appuie sur
ce bouton, maintenant il me demande, voulez-vous continuer
si j'appuie sur Oui, comme vous pouvez le voir, comment s'
est-il imprimé vrai Mais si nous appuyons sur Non, les formulaires seront imprimés. De même, de la même
manière, nous avons demandé au cancer. Je définis une autre
variable : réponse trois, réponse trois égale deux, masses
box point ask, OK, cancer. Il est utilisé pour les modifications et renvoie également
une fausse valeur. Si j'imprime la valeur
dans notre terminal définis ce fichier et que j'exécute ce
code dans notre terminal, si j'appuie sur ce bouton, comme vous pouvez le voir,
souhaitez-vous effectuer des modifications ? Si j'appuie sur Annuler, vous pouvez
maintenant voir que la réponse est fausse. Si j'appuie sur Oui, si j'appuie sur Oui, alors l'impression s'
effectuera. En gros, nous l'utilisons
pour les paramètres SAP. Enfin, nous avons
demandé une nouvelle tentative d'annulation. Je commente à la fois la ligne et je vais
taper la réponse quatre. Répondez à quatre points égaux à la masse de la
case et demandez à nouveau d'annuler. Et comme titre, je
vais réussir une nouvelle tentative. Échec de la nouvelle tentative de connexion. On me demande de réessayer, puis j'imprime l'identifiant. De plus, celui-ci retournera
vrai et faux dans mon terminal, laissez-moi vous montrer si
j'exécute ce code dans mon terminal et que j'
appuie sur ce bouton, des messages d'avertissement
s' La connexion a échoué,
j'ai demandé une nouvelle tentative. Si j'appuie sur Réessayer, ça va passer Voici un exemple de fonction
courante d'une boîte à déchets. Dans le prochain tutoriel,
je vais
parler d' une autre boîte de dialogue
qui est la boîte de dialogue de fichiers. Merci d'avoir regardé cette vidéo Tay tune pour notre prochain tutoriel
33. Dialogs de fichier: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec une autre boîte de dialogue
liée au didacticiel. Et aujourd'hui, dans ce didacticiel, nous allons apprendre la boîte de dialogue des
fichiers. Dans notre précédent tutoriel, nous avons appris Messes Box. Nous utilisons une boîte de message pour
afficher des informations, des
avertissements, des erreurs, etc. Mais dans notre
boîte de dialogue de fichier, nous pouvons ouvrir un fichier, nous pouvons enregistrer un fichier, nous pouvons ouvrir plusieurs fichiers
.ats, tout. La boîte de dialogue de fichier Kint permet à l'utilisateur de
sélectionner des fichiers ou des dossiers. Et si nous en parlons de
fonctions communes, il est livré avec un total de
quatre fonctions. Demandez le nom du fichier ouvert. Je sélectionne un fichier à ouvrir. Il est utilisé pour
un seul fichier et il
va renvoyer le chemin du
fichier sous forme de chaîne. Ensuite, nous avons les noms de fichiers Ask
Open. Je sélectionne plusieurs fichiers. Il est écrit deux chemins
de fichier. Ensuite, nous avons Ask
save en tant que nom de fichier. Nous l'utilisons pour sélectionner
l'emplacement où enregistrer un fichier. Il a enfin écrit un fichier de
chaîne, nous avons le répertoire ask. Il est utilisé pour un dossier sélectif et renvoie un
chemin de dossier sous forme de flux. Permettez-moi donc de vous montrer
la démonstration de toutes ces fonctions. Que pouvons-nous en faire ? Comme vous pouvez le voir, nous sommes dans
mon éditeur de code sult studio. Dans un premier temps, nous saisissons Kinar en tant que TK. Ensuite, nous créons la racine de
fenêtre y de base égale à Tika TK. Ensuite, nous avons défini un
titre pour cette fenêtre, exemple de boîte de dialogue de
fichier, et
nous avons défini la géométrie. 300 x 200 et enfin
nous exécutons la boucle principale. Dans un premier temps, je vais
créer un bouton, classe de boutons
Su ti tdt Ensuite, à l'intérieur des barres rondes, nous plaçons ce bouton
dans une fenêtre racine, puis le texte est égal à ouvrir
le fichier et la commande est égal à J'appelle cette fonction open file, puis j'emballe ce bouton Après cela, nous devons définir
cette fonction open file, donc je copie le nom de la fonction. Ici, je vais définir
la fonction, Dave, ouvrir le fichier, et dans
cette fonction, dans un premier temps, je vais définir une variable
appelée chemin de fichier, fichier, chemin soulignement, chemin de fichier
identique à ici, nous devons utiliser le dialogue de fichier Pour cela, nous devons
importer la boîte de dialogue du fichier. Je vais taper depuis Kinard Je veux
importer un fichier dans la boîte de dialogue Maintenant, je veux utiliser
ask open file name. Tout d'abord, nous devons définir la boîte de
dialogue du fichier, le point de dialogue du fichier. À partir de la boîte de dialogue de fichier, je
souhaite utiliser comme nom de fichier ouvert. Ensuite, à l'intérieur des rebords
puis à l'intérieur des résines
rondes , nous devons d'abord attribuer
un titre à la fenêtre de dialogue Tapez donc title Liqual
pour ouvrir un fichier. Puis, virgule après virgule, nous devons définir les types
de fichiers C'est important.
Tapez donc les types de fichiers. Ensuite, à l'intérieur de la base carrée, nous pouvons définir des types de fichiers
particuliers. Supposons que si vous souhaitez
sélectionner un fichier txt,
un fichier texte vous devez définir
le niveau du fichier texte, puis
mentionner l'extension. Je veux parler du modèle de fichier. Pour cela, vous devez
taper star point TXT. Dot TXT est l'extension, et son étoile signifie tout. Cela peut être n'importe quoi.
Cela peut être un, deux, trois,
TXT à points , du texte, un symbole, peu importe. De même, si
vous souhaitez sélectionner
d'autres types de fichiers, supposons que si vous souhaitez sélectionner un fichier Python, dans ce cas,
vous devez d'abord fournir le nom du
niveau (dans notre cas les fichiers
Python), puis vous
devez transmettre l'extension. Comme Star Dot Py. C'est pour le fichier Python. Et si vous voulez accéder à
tous les fichiers, dans ce cas, vous devez taper tous les
fichiers, c'est l'étiquette, et pour l'extension, vous devez taper star point star. C'est une victoire après un point,
ça peut être n'importe quoi. Cela peut être TXT, cela peut être Pi, cela peut être un
fichier Illustrator, PSD, peu importe En gros, nous avons
créé ici un filtre point vers le bas. Cet utilisateur peut sélectionner le type de fichier entre
TextFile et Python Après avoir ouvert le dossier, si vous utilisez ou sélectionnez un fichier Python, il n'
affichera que le fichier Python du dossier, et s'
il sélectionne tous les fichiers, il affichera tous
les fichiers du dossier. Je vais vous montrer
la démonstration. Maintenant, comme vous pouvez le voir dans
mon essai de documents, nous avons plusieurs types de fichiers,
tels qu'un fichier PDF, un fichier image
JPG, un fichier image
PNG, un fichier Adobe
Illustrator, un fichier texte, un fichier
Python, un fichier CSS, un fichier script et TMLFle Vous avez également un fichier Photoshop. Revenons maintenant au code. Donc, prédéfinissez ce fichier si j'exécute
ce code dans mon terminal, laissez-moi vous le montrer et maintenant vous
pouvez voir notre boîte de dialogue de fichier, et nous avons un bouton pour ouvrir le fichier. Maintenant, j'essaie d'ouvrir n'importe quel fichier, super cliquez dessus pour ouvrir
une fenêtre de fichier. Il s'agit de notre boîte de dialogue de fichier, et nous l'appelons OpenAFLE Je veux accéder
au dossier Document Si j'ouvre le dossier Document, maintenant vous
ne pouvez voir que le fichier texte car dans notre section de filtrage, nous sélectionnons le fichier texte. Maintenant, je veux sélectionner
le fichier Python. Après avoir sélectionné le fichier Python, vous ne pouvez voir que le fichier Python de ce dossier dans ce dossier. Si je sélectionne tous les fichiers, vous pouvez
maintenant voir tous les
types de fichiers ensemble. Vous pouvez maintenant sélectionner
n'importe quel fichier de ce dossier. Ici, nous avons utilisé les
deux types de filtre, le filtre Text TextFile
et le filtre de fichier Python Vous pouvez maintenant sélectionner
tous les fichiers Python. Vous pouvez maintenant ouvrir ce fichier. Vous pouvez sélectionner ce fichier.
Vous pouvez également ouvrir ce fichier. Après avoir ouvert ce fichier,
vous ne pouvez rien voir ici car nous ne faisons
rien après l'avoir ouvert. Après avoir ouvert le fichier,
imprimons le chemin du fichier. Pour cela, je vais
taper IP condition. Si chemin de fichier, alors si chemin de fichier, insérez cette condition IP. Je veux imprimer, imprimer, je veux imprimer le chemin du fichier. Ensuite, dans le rundress,
à l'intérieur des codes doubles, tapez
Hem, ouvrez le fichier, puis la virgule supérieure, puis Apocma, je veux
imprimer le chemin du Variable de chemin de fichier. Je vais configurer ce fichier.
N'oubliez pas que cette fonction est utilisée pour sélectionner un seul fichier. Après avoir défini le fichier,
si j'exécute ce code dans mon terminal et que j'
essaie de sélectionner un fichier, par
exemple
si je veux sélectionner
un fichier Python point Pi, je clique sur Ouvrir. Maintenant que vous pouvez voir mon terminal, j'imprime le chemin exact du fichier
à partir duquel nous ouvrons le fichier. Il imprime le chemin exact
de ce fichier sous forme de flux. Maintenant, en utilisant le chemin du fichier, nous pouvons ouvrir le
fichier et pour l'ouvrir, nous devons créer un pointeur de fichier et une méthode d'ouverture, etc. Je ne vais pas l'utiliser dans
ce tutoriel. J'ai juste essayé de vous montrer
comment nous pouvons utiliser le dialogue de fichiers. Ensuite, je vais vous
montrer
comment ouvrir plusieurs fichiers à la fois, comment sélectionner
plusieurs fichiers. Pour cela, je vais définir un autre bouton, un bouton billetté,
et le texte de notre bouton est Ouvrir plusieurs fichiers ». Je
commande cette fonction, ouvre plusieurs fichiers,
et j'emballe ce Ensuite, nous devons
définir cette fonction. Je copie cette fonction et je vais
dupliquer cette section séparément Ensuite, après l'avoir dupliqué, je vais remplacer
le nom de la fonction, ouvrir le fichier, ouvrir plusieurs fichiers. Au lieu d'utiliser des points de
dialogue de fichier, ouvrez le nom du fichier, je vais utiliser de beaux
noms MEs Celui-ci. Je vais également changer
le titre de cette fenêtre ouvrir un fichier deux,
ouvrir plusieurs fichiers. Je vais maintenant
supprimer cette fonctionnalité. Je n'en ai pas besoin. Et au lieu
d'utiliser un seul filtre, je vais utiliser
plusieurs filtres à la fois. Laisse-moi te montrer.
Helm définit donc les images. Notre niveau de filtre est celui des images, et en même temps, je souhaite accéder à une image PNG, à une image
JPG, à une image JPEG. Avec cela, si vous souhaitez ajouter un Adobe iSorfle ou PSD, oui, vous
le Il suffit de taper de l'espace et de taper
start.ai dans le fichier Illustrator. Espace, également si vous
voulez ouvrir un fichier PSD, puis taper Star Dot PSD, Photoshop Document Five, et
je vais définir ce code Ensuite, je
vais également modifier la déclaration
d'impression. Je vais sélectionner les
fichiers, puis le chemin du fichier. Mais avant d'exécuter
ce code,
je vais également modifier la variable car je duplique ce fichier, donc je ne veux pas utiliser
le même nom de variable. Je ne veux pas le remplacer. Pour cela, je souhaite utiliser un nom de variable distinct.
Je vais donc taper. Je vais en
faire des fichiers de chemin de fichier, celui-ci. Je vais
configurer ce fichier. De plus, si les fichiers
impriment les fichiers sélectionnés, ils imprimeront un tapu Il va imprimer une bande avec plusieurs
chemins de fichiers sélectionnés. Laisse-moi te montrer. Définissez donc ce fichier si
j'exécute ce code dans mon terminal et que j'essaie d'
ouvrir plusieurs fichiers. Vous pouvez maintenant voir le résultat. Ici, comme vous pouvez le voir,
ce sont des images sélectionnées et cela ouvre tous les types
de formats de fichiers image. Je n'ai aucun format de fichier
JPEG. C'est pourquoi cela ne s'affiche pas. Nous avons le fichier JPG, le fichier Adobe
Illustrator, le fichier Photoshop
et le fichier PNG, et je vais
tout ouvrir en même temps. Si je l'ouvre, comme vous
pouvez le voir sur mon terminal, il imprime un Taple, chaque élément
Taple est un chemin de fichier Voici notre dossier. Il s'agit de la première partie
de ce didacticiel. Dans la même partie
de ce didacticiel, je vais utiliser
deux autres fonctions telles que ask save file
name et ask directory. Il est utilisé pour enregistrer le fichier et ensuite
sélectionner le dossier. Merci d'avoir regardé
cette vidéo,
restez connectés pour notre prochain studio.
34. Dialogs de fichiers Partie 2: C'est bon de vous revoir, les gars. Dans ce tutoriel,
nous allons apprendre. Demandez la méthode de sauvegarde du nom de fichier
et demandez la méthode Ditory. Il est utilisé pour sélectionner
l'emplacement du fichier Babe, et le suivant est utilisé
pour sélectionner un dossier Commençons donc par le côté pratique. Comme vous pouvez le voir, nous sommes dans
mon éditeur de code studio. Je vais maintenant
créer un autre bouton. Cela va
commander une fonction. Enregistrez le fichier, laissez-moi vous montrer. Donc, tapez le bouton à points, et le
texte de votre bouton est un fichier de sauvegarde. Et dans notre paramètre de commande, j'appelle cette fonction, enregistre le fichier, et j'emballe ce bouton. Ensuite,
nous devons définir cette fonction. Disons fichier. Je copie donc le nom de la fonction et je vais
dupliquer cette section. Dans un premier temps, je vais
changer le nom de la fonction. Je vais remplacer plusieurs fichiers
par un
fichier et le remplacer par un fichier de sauvegarde. Ensuite, je vais
changer le nom de la variable. Je vais faire en sorte qu'il sauve Path. SPAT égal au point de dialogue du fichier,
demandez la méthode de sauvegarde du fichier Activé pour remplacer, demandez le
nom des fichiers ouverts ou demandez le nom du fichier de sauvegarde. Ensuite, je vais définir un titre. Je vais faire en sorte que le
titre soit égal à enregistrer sous. Ensuite, vous pouvez mentionner l'extension par défaut
du fichier sécurisé. Pour cela, nous utilisons ce paramètre, extension
par défaut
égale au point TXT. Donc automatiquement, il va
définir le fichier au format TXT. Vous pouvez également le mentionner
dans les types de fichiers. Donc, pour supprimer ces
extensions de fichiers et avec tous les types de fichiers, je vais utiliser le fichier TXT. J'utilise cette étiquette TextFile, puis j'utilise le point de départ TXT Après cela, nous devons imprimer le chemin choisi après avoir
sélectionné le chemin. Pour cela, nous devons
utiliser I condition
I Seppth I set path is true, puis je veux imprimer
la variable set path Je vais également modifier le texte de cette déclaration
imprimée. Ici, je vais taper file save at Save PAT et je
vais définir ce fichier. Après avoir sous-traité ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant voir
ce bouton de fichier. Si je clique dessus à partir d'ici, vous pouvez utiliser l'emplacement du fichier
dans notre dossier. Vous pouvez également utiliser des types FLESvs
tels que Bidifulc TextFils. Vous pouvez également choisir tous les fichiers et sélectionner
votre emplacement de sauvegarde. Après avoir sauvegardé,
il remplacera celui-ci. Il va
remplacer le nouveau. De plus, si vous souhaitez mettre votre propre nom, tel qu'
un nouveau fichier, nouveau fichier et choisir
l'extension de texte, fichier
texte, puis Paysafe Maintenant, vous
pouvez voir un terminal, j'imprime l'emplacement sécurisé du fichier. Enregistrez le fichier exactement à cet emplacement sous
ce nouveau nom de fichier. N'oubliez pas qu'il ne
crée pas un vrai fichier. Il s'agit simplement de créer un emplacement de fichier
sécurisé. Parlons maintenant de
notre dernière fonction. Pour cela, je vais définir un autre bouton ici,
tapez pkt button. Je vais le placer
dans une fenêtre racine et le texte de
notre bouton
est Select folder, et il va commander cette
méthode, sélectionnez DSCOfolder La fonction de sélection
du dossier va
définir un descripteur placé sur
le caractère PKD Vous pouvez sélectionner n'importe quel
dossier à l'aide de cette option. Définissons la fonction. Pour cela, ici, je vais
taper le nom de notre fonction
Dave select folder. Et dans la fonction, je vais taper le
chemin du dossier, sinon le dossier. Le dossier est égal à la boîte de dialogue
du fichier, le point de dialogue du fichier, et
ici nous allons
utiliser le répertoire ask.
Demandez à l'annuaire. Ensuite, dans les
roulettes, dans un premier temps, pour fournir le titre, et
notre nom de titre est title, Amotype sélectionne un dossier.
C'est ça. Vous devez transmettre
d'autres paramètres tels que l'extension de fichier par défaut, types de
fichiers, etc., nous
devons choisir le dossier Si vous voulez définir une condition, qu'elle
soit correcte ou non, nous allons
définir une instruction d'impression
en utilisant la condition IP. Donc C I dossier, si dossier, alors dans
cette condition, puis dans cette condition E,
je vais imprimer. Il doit imprimer dans le dossier rond
sélectionné, je veux sélectionner le
dossier du chemin du dossier et je vais définir ce fichier. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal et que j'essaie de sélectionner un
chemin de dossier, laissez-moi vous montrer que vous pouvez voir le
bouton, sélectionner un dossier, si je clique dessus et que je sélectionne l'un des dossiers tels que télécharger. Téléchargements, sinon, vous pouvez sélectionner un dossier
depuis n'importe quel lecteur, si j'ouvre ce lecteur, par exemple si
nous sélectionnons le KinterFolder Ensuite, si je clique dessus, vous pouvez voir
ici le
chemin du dossier sélectionné. Ce dossier se trouve sur mon lecteur Web et le nom de notre dossier est Kinter. Il s'agit donc de la fonction de dialogue de
fichiers la plus courante, et vous pouvez voir leur objectif
et ce qu'ils ont écrit. Merci donc d'
avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel.
35. Sélecteur de couleurs (colorchooser) ): Salut, les gars, c'est bon de vous revoir. Il s'agit de la dernière boîte de dialogue
liée au didacticiel, et dans ce didacticiel, nous allons apprendre le sélecteur de
couleur Le module de sélection de couleurs permet à l'utilisateur de choisir une couleur
dans une palette Il est écrit à la fois des
valeurs de couleur RGB et des valeurs de couleur hexa. Commençons donc par la pratique
et voyons comment nous pouvons l'utiliser. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de
mon studio Visal, et nous créons une fenêtre de base
simple Ensuite, nous définissons la géométrie. 300 par deux,
ici nous allons
utiliser un sélecteur de couleur Nous devons donc importer un sélecteur
de couleur. Pour cela, nous devons associer le sélecteur de couleurs d'importation
Kiner. Ensuite, nous devons
créer un bouton qui va appeler une fonction. Pour cela, je vais lier le bouton
tdt et
appuyer sur le bouton dans
une fenêtre racine et notre bouton prend
la couleur du tuyau Dans notre paramètre de commande, j'appelle cette fonction «
choisir la couleur ». Nous devons maintenant
définir cette fonction. Donc, ici, je vais
définir la fonction. Dave a choisi la couleur. Ensuite, dans cette fonction, nous devons ouvrir
le dialogue du sélecteur de couleur Pour cela, je vais définir une variable et le nom de notre
variable est color. Couleur égale à celle du
sélecteur de
couleur, du sélecteur de couleur, I un, deux, je veux utiliser la méthode
appelée ask color. Celui-ci. Ensuite, à l'intérieur de la robe ronde, je vais définir
un titre, et je vais taper Pk color Choisissez une couleur. Après cela, je vais utiliser la condition IP. Comme je vous l'ai dit, après avoir
choisi une couleur, elle renverra une valeur hexa ainsi qu'une
valeur RGV Ici, je vais
dire qu'une condition que je colore à partir de la couleur que je
souhaite sélectionner parmi la couleur, je veux sélectionner Index 1. Ici, j'utilise Index 1, et Index 1 représente
la valeur hexa qui signifie que s'il
y a une valeur Xa dans cette variable à l'
index numéro un, alors dans cette condition IP, je veux imprimer un imprimé à
l'intérieur des robes rondes,
je vais taper. Tout d'abord, je veux imprimer les valeurs
RGV sur Type RGB, deux points et je vais
imprimer la valeur de couleur RGV Pour cela, pour accéder à la valeur de couleur
RGV
, saisissez le nom de la variable, nous devons accéder au numéro d'
index zéro Il va imprimer la valeur
de couleur argv. Ensuite, je vais imprimer le
xa. Je duplique cette ligne. Au lieu d'utiliser la couleur zéro, je vais utiliser l'
index numéro un, et je vais
remplacer RGV un x. Je vais définir ce fichier Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, laissez-moi vous montrer que nous avons un
bouton appelé Sélecteur de couleur Si je clique dessus, la boîte de dialogue du sélecteur de
couleur s'ouvre. Si je sélectionne une couleur telle que le vert et que j'appuie sur OK, vous pouvez
maintenant voir la couleur fonctionner. Voici le saule AGV de cette couleur et voici
le Hixavo de cette Maintenant, laissez-moi vous montrer
un autre exemple. Je souhaite changer la couleur de
notre fenêtre. Quelle que soit la couleur
sélectionnée dans ce sélecteur de couleurs, je souhaite l'appliquer
dans notre fenêtre principale Pour cela, je vais taper
root point config Method, Config. Au lieu des robes
rondes, je veux changer la couleur de
fond tie BG fond égal à
Dgroun est égal à deux, j'ai coloré et je veux
appliquer la valeur hexa Alors attachez la couleur à un
index numéro un. Je vais configurer à nouveau
ce fichier. Maintenant, si je réexécute
ce code et que j'ouvre la boîte de dialogue des couleurs, que je
sélectionne des couleurs telles que ce type de bleu, que je
sélectionne et que j'appuie sur OK, vous pouvez
maintenant voir dans
notre fenêtre principale qu'il se reflète avec cette
couleur, cette couleur bleue. Quelle que soit la couleur sélectionnée dans ce sélecteur de
couleur, elle sera appliquée dans cette fenêtre C'est ainsi que nous pouvons utiliser la boîte de dialogue du sélecteur de
couleur. Merci d'avoir regardé
cette vidéo,
restez connectés pour notre prochain tutoriel.
36. Barres d'outils Tkinter python: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et aujourd'hui dans ce tutoriel, nous allons en apprendre davantage sur
toolbdsolwars En gros, un mot outil n'
est qu'un cadre placé en haut de la fenêtre qui contient un
assistant de boutons avec des icônes. Le mot outil n'est pas un objet, ce n'est pas un objet différent. Il est fabriqué avec un cadre. Créons la barre d'outils
et détruisons le concept. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de mon studio
Wizard et je crée un fichier Python et je crée un Pi à cinq outils
Python. Nous avons un dossier, dossier d'
icônes, et dans
ce dossier d'icônes, nous avons plusieurs icônes, telles qu'une nouvelle icône, cette image, icône
ouverte et une icône Sab Et je vais
utiliser ces images. Ces images sont des images
à très faible résolution, par
exemple 16 x 16 pixels, sinon des quatre y
aux quatre pixels. Selon vos besoins, vous pouvez attribuer n'importe quelle résolution
à ces images. Commençons donc par la pratique. Dans un premier temps, je vais
créer une barre d'outils pour cela, je vais définir
une barre d'outils variable. Barre d'outils égale à TkDTFrame. Ici, nous créons un objet cadre. Ensuite, à l'intérieur de l'évidement rond nous plaçons le cadre
dans une fenêtre racine, puis nous utilisons
une bordure en relief Tkot surélevée.
C'est l'heure des frontières. Maintenant, après avoir créé
le cadre de la barre d'outils, nous devons
également
emballer cette barre d'outils. Je vais l'emballer ici. Un outil de type Word Dot Pack, et je vais le
placer en haut. Je souhaite remplir cette
barre d'outils sur Xxs. Nous connaissons déjà le
processus, comment placer un objet n'importe où et
comment l'étirer. Maintenant, après avoir défini la barre d'outils, nous devons charger les
images d'icônes. Tout d'abord, je dois charger une nouvelle
icône, cette nouvelle image,
définir une variable, une nouvelle icône, égale à AirTypeHirn pour taper la méthode d'image photo
tdt Maintenant, c'est une
nouvelle méthode pour toi. En utilisant la méthode photo Image, nous pouvons saisir une image dans notre
fenêtre et, comme vous pouvez le voir, en tant que paramètre,
fournir le chemin du fichier. Donc, depuis le dossier des icônes, je souhaite accéder au nouveau point PNG. Ensuite, je le stocke dans une nouvelle icône
variable. la même manière, je vais
saisir une autre image
ouverte et enregistrer. Ici, je saisis une autre image, ouvre l'icône et je sauvegarde l'icône, en utilisant la méthode de l'image photo. Ne t'inquiète pas pour ça.
Dans notre prochain chapitre, nous parlerons des images photographiques. Une chose que vous devez retenir, l'icône de
chargement doit être une image PNG
ou une image GIF. Ensuite, nous devons
créer les boutons, et je vais remplacer l'icône du bouton par
cette image PNG. Donc, dans un premier temps, je vais
créer le nouveau bouton. Tapez donc un nouveau bouton
égal aux boutons Tkot. Ensuite, à l'intérieur de la
brèche ronde, je vais placer le bouton dans le cadre de
la barre d'outils. Puis image égale à la nouvelle icône. Maintenant, j'attribue une nouvelle image d'icône à ce bouton et une commande
égale à un nouveau fichier. Il va commander
cette fonction, nouveau fichier. Ne t'inquiète pas Nous créerons
notre nouvelle fonction de fichier ultérieurement. Après cela, nous emballons
ce bouton à nouveau. Comme vous pouvez le voir, comment
définissons-nous un bouton variable nouveau et un bouton égal
à un bouton à cocher. Et je teste ce bouton
dans le cadre de mots de cet outil. Ensuite, nous attribuons une image. L'image est égale à la nouvelle icône, la nouvelle image de l'icône correspond
à ce bouton. Ensuite, nous commandons
cette fonction, Nouveau fichier, Don VOD, nous créerons la
fonction plus tard et nous insérons également ce
bouton, point, pack, et
dans le processus d'exécution, et j'appuie sur ce
bouton sur le côté gauche De plus, j'attribue un peu de rembourrage
à ce bouton aux niveaux Xs et YxS. De la même manière, je vais
créer deux autres boutons. Je fais simplement avancer le
processus pour vous faire gagner du temps. la même manière, je crée Ouvrir le fichier et le bouton
Enregistrer le fichier. Maintenant, une par une, je vais
définir toutes les fonctions, nouveau fichier, fichier ouvert
et fichier sécurisé. En gros, je vais afficher une masse d'informations lorsque nous cliquons sur ces
boutons. Rien d'autre Pour cela, nous devons
importer des boîtes de masse. Tapez donc à partir de la zone Kiner
Import Masses. Ensuite, je vais
définir les fonctions. Notre première fonction
est Dave New file. Ensuite, dans cette
nouvelle fonction de fichier, je vais imprimer ce message. Je souhaite imprimer ce message
d'information. Je tape donc le
point de la boîte de message pour Info Method. Ensuite, comme étiquette comme titre
de cette action Window
HearitypetOLB,
et comme message d'information que
nous transmettons, et comme message d'information que
nous transmettons De la même manière, je vais
créer deux autres fonctions. Ici, je vais
définir deux autres fonctions, ouvrir le fichier et enregistrer le fichier. Pour un fichier ouvert, je passe
ce message, un fichier ouvert, et pour Saffle, je passe ici ensemble de
fichiers. C'est ce fichier. Étape supérieure de ce fichier si
vous exécutez ce code dans mon terminal et comme vous pouvez le voir, il a créé, il a créé
Ta avec des icônes. Nous remplaçons les boutons
par ces icônes. Si j'appuie sur l'un des
boutons tels qu'ouvrir un fichier, vous pouvez
maintenant le voir afficher
un message, ouvrir un fichier. De même, si
nous cliquons sur Saffle,
affichez ce message, le fichier En gros, dans ce tutoriel, j'essaie de montrer ce qu'est la barre d'outils. Dans la plupart des cas, nous
utilisons une barre d'outils avec des menus, mais je
vous apprends déjà comment créer des menus et
comment créer des sous-menus C'est donc tout pour ce tutoriel. Merci d'avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel.
37. Ajouter des images dans Tkinter: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et aujourd'hui dans ce tutoriel, j'aimerais vous montrer
comment on peut ajouter une image dans Kiner Windo en utilisant
photo Image Pour ajouter l'image, nous allons utiliser la méthode
de l'image photo et elle ne prend en charge que les
images GIF et PNG. La classe d'image photo de Tinter vous permet d'
afficher des images, mais elle ne prend
en charge que les formats PNG et GIF Je ne supporte pas les images au format
JPG. Voyons un exemple d' utilisation de cette image photo
de classe. J'ai déjà utilisé celui-ci
dans mon précédent tutoriel, mais il s'agit du didacticiel
distinct pour cette image photo de classe. Commençons par l'aspect pratique. Comme vous pouvez le voir, nous sommes dans éditeur de code de
mon studio de résultats. Dans un premier temps, je vais importer un module et notre
module est Kinder Je vais taper Import
Kiner TK enter en tant que TK. Ensuite, pour
créer la fenêtre racine. Pour cela, je vais taper
root égal à p point T class. Je vais également attribuer un
titre à cette fenêtre racine. Exemple d'image de photo contenant le titre racine. Vous pouvez ensuite attribuer une
géométrie à cette fenêtre. Tu peux l'ignorer si tu veux. Ensuite, je vais taper
root point main loop. Je vais exécuter la boucle principale. Ici, nous allons utiliser la classe d'image
photo pour
accéder à l'image. Pour cela, nous devons taper l'image photo à
point T. Image photo. Ensuite, à l'intérieur des rondes, vous devez fournir le chemin du
fichier, sinon le fichier fichier est égal à
l'intérieur des codes doubles et le nom de notre fichier
image est au fichier, celui-ci, cette image PNG. Je souhaite ajouter un fichier à points PNG. C'est ça. Ensuite, je vais stocker cette
image dans une variable. Pour cela, je vais
définir ici une variable ING, image égale à TKTPhotoImage Maintenant, je veux afficher cette
image dans une étiquette. Pour cela, je vais
définir un label, label égal à T label. Voilà la rondeur,
je vais
mettre l'étiquette dans une fenêtre racine Ensuite, je vais
définir l'image. Ici, je vais
utiliser l'option image. Image égale à,
je vais passer la variable d'image IMG, image. Je vais configurer le
fichier. Après cela, je vais emballer cette étiquette. Je vais donc taper la méthode
label point PAC. Ensuite, à l'intérieur du Rundss, je
veux ajouter un peu de rembourrage à YX, un peu de type, de pad, de Y,
en pixels . Je
vais régler cette partie. Maintenant, si je définis ce fichier et que j'exécute ce code
dans notre terminal, vous pouvez voir
ici l'image PNG. Comme je vous l'ai dit, il prend en charge la méthode de l'image photo et
ne prend en charge que les images PNG et GIF. Je ne supporte pas d'autres formats
comme GPG, JPEG, etc. Maintenant, si vous essayez d'
afficher une image JPG, je duplique cette ligne et je
commente la ligne précédente, et je vais remplacer ce chemin de
fichier par css point JPG, css point JPG, définir ce fichier et exécuter
ce code dans notre terminal. Maintenant, vous pouvez voir
que c'est le tunnel Aero. Il y a aussi une chose
dont tu dois te souvenir. Vous devez toujours conserver une
référence à l'image. Dans le cas contraire, il risque de ne pas s'afficher. Je veux dire unique pour l'
assigner dans une variable. Dans notre cas, IMG. Sinon, ça
ne marchera pas. Il s'agit du premier exemple. Ici, j'affiche des images
au format PNG ou JPG. Si vous souhaitez utiliser
d'autres formats d'images tels que JPG, JPEG, BMP, PNG, WEBP, dans ce cas, vous devez utiliser un
module appelé PL Je vais vous montrer
la démonstration. Maintenant, laissez-moi vous montrer une autre
méthode permettant
d'afficher des images d'autres formats à
l'aide de la bibliothèque PAL. PAL commence par Plus. Il est utilisé pour les images GPG, PNG, tous types d'images L'image photo Ginters ne
prend en charge que les formats PNG ou GIP. Mais avec Pillow, vous pouvez charger presque tous les formats,
tels que JPGImage, image
JPEG, image BMP, image
PNG, image TI AFB
et Je vais donc vous montrer
comment nous pouvons l'utiliser. Comme vous pouvez le voir dans mon éditeur de code
Visualts Studio, je crée
ici un autre fichier
Python, Minto dot pie Dans un premier temps, je vais
importer le Kintermdule. Je vais taper
Import inter en tant que DK. Ensuite, je vais
ouvrir mon Windows PowerShell. Comme vous pouvez le voir ici, j'ouvre mon Windows PowerShell et je
vais installer un module Notre objectif est le type
Pillow, Peep,
install, et le nom de notre module est PLO. Je vais appuyer Après avoir appuyé sur Entrée, comme vous pouvez le voir, l'exigence est déjà
satisfaite car j'ai déjà téléchargé ce module. Mais si vous ne
téléchargez pas ce module, vous devez terminer
le processus de téléchargement. Revenons maintenant au code. Après cela, à partir du module PIL, nous devons importer
l'image et l'image TK Type de somme depuis PIL, je souhaite importer une
image et une image TK Ces deux classes,
image TK, c'est tout. Ensuite, je vais créer
un objet de fenêtre racine en utilisant cette classe T. Ensuite, je vais définir un titre. Ici, je tape un exemple d'image d'
oreiller sous forme de titre racine. Ensuite, je vais
lancer la boucle principale. Donc, tapez, root, main loop. Maintenant, je veux ouvrir l'image
JPG, point CSS GPG. Pour cela, je vais définir une variable et le nom de notre
variable est image. Image égale à ici, je vais utiliser la classe d'image, l'
image, le point, la méthode ouverte. Ouverte. Ensuite, à l'intérieur des rondres ici à l'intérieur du double
parcours, pour passer, nous devons passer le nom de
l'image, Css point JPG Après cela, nous devons
convertir l'image
en image compatible Kiner Pour cela, je vais
définir une autre variable IMG, image, image égale à deux Je vais utiliser
cette classe image TK, méthode
image tk point photo image. Ensuite, à l'intérieur des robes rondes, je vais passer
la variable image Image. Ensuite, nous devons afficher
cette image dans une étiquette. Pour cela, je vais
définir une étiquette et une étiquette égales à une étiquette à point T, et je teste l'étiquette dans la fenêtre racine et ici image, image égale à image
IMG Image variable. Ensuite, je vais
emballer cette étiquette. Je tape label point PAC Mathod. Ensuite, à l'intérieur de la
chemise, je vais taper le pad Y 20 pixels. Je vais
configurer ce fichier. Pour configurer ce fichier, si j'
exécute du code dans mon terminal, vous pouvez voir le résultat
ici.
Vous pouvez voir l'image. Notre
résolution d'image GBG est trop grande, c'est pourquoi elle couvrait la zone. Pour résoudre le problème de taille, nous pouvons utiliser une autre méthode. Laisse-moi te montrer. Je vais
quater le terminal et ici je vais
fournir une image de
dimension spécifique à
cette variable d'image Donc, pour taper une image. Image égale à ici, je vais utiliser la méthode de redimensionnement des
points d'image,
certains types d'image, de point, de
redimensionnement, de redimensionnement Ensuite, à l'intérieur des rondes, puis à l'intérieur des rondes, nous devons fournir la
dimension de l'image. Vous devez fournir la
dimension à l'intérieur
des ronds de type 400 par 400. C'est une image carrée. Je vais configurer ce fichier.
Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, vous pouvez
maintenant voir le résultat. Il redimensionne l'image JPG. En gros, le module Pio étend capacités de
Cintros en
supportant plus de formats. Vous pouvez redimensionner, recadrer, faire pivoter et appliquer un filtre à cette image Et n'oubliez pas de toujours utiliser la méthode des images photo
à points magiques pour convertir une image PIL dans
un format intercompatible C'est tout pour ce tutoriel. Dans le prochain tutoriel,
je vais vous
montrer comment
recadrer l'image, comment faire pivoter une image, ainsi que comment appliquer
différents filtres, tels que Guscian,
échelle de gris, flou, etc. Restez à l'affût pour notre
prochain tutoriel.
38. Redimensionner, recadrer, faire pivoter et filtrer des images (coussin + Tkinter): Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un autre tutoriel. Et pour réaliser ce tutoriel, nous allons
apprendre à redimensionner, recadrer, faire pivoter et filtrer des images à
l'aide de Pillow and Kid Dans notre précédent tutoriel, je vous montre déjà
comment redimensionner des images Pour cela, nous utilisons cette
méthode image point Resize. Ensuite, vous devez fournir la
largeur et la hauteur. Et si vous souhaitez recadrer
une image, dans ce cas, saisissez la méthode de recadrage par points de l'image. Ensuite, vous devez
fournir les côtés, lèvre, le haut, le côté droit et le bas. De même, si vous
souhaitez faire pivoter l'image, vous
devez
utiliser la méthode de rotation et fournir une
valeur en angle. Et si vous souhaitez appliquer des
filtres tels que le filtre GrisKL, vous
devez taper
imagps point risk Et pour le filtre sanguin, vous devez saisir le filtre à points
d'image. Ici, vous devez appliquer le filtre
d'image point BLAD. Alors ne t'inquiète pas pour ça. Je vais vous montrer tous
les exemples pratiques. Comme vous pouvez le voir, nous sommes dans éditeur de code de
mon studio utilisateur et je crée un
fichier Python main point pi. Et dans notre précédent tutoriel, nous avons déjà appris comment ouvrir une image à l'aide
de la molécule Pillow. Maintenant, nous apprenons également
comment redimensionner notre image. Ici, nous utilisons une
image différente (point clair) JPG. Si j'exécute ce code
dans mon terminal, comme vous pouvez le voir, c'est
l'image d'une lumière. Et cette dimension d'image
est de 512 x 512. Je vais maintenant
redimensionner cette image. Pour cela, je vais
définir une variable
et notre variable est redimensionnée, redimensionnée, redimensionnée égale à Ici, je vais utiliser la méthode de redimensionnement par points d'
image. À l'intérieur des presses rondes, vous devez mentionner les
dimensions Largeur et hauteur. Certains ont dit largeur,
300 et hauteur 200. Virgule 200. De plus, je fournis une
seule commande en avec 300 et une hauteur de 200. Je vais maintenant remplacer cette variable d'image par
cette variable redimensionnée Je copie le
nom de la variable et remplace la variable
image par redimensionnée Après avoir saisi l'image,
nous la redimensionnons. Ensuite, nous passons l'
image dans cette classe, image ticker point photo image, et je vais satisfaire Après avoir satisfait, si
j'utilise ce code dans mon terminal, vous
pouvez voir le résultat. Il redimensionne l'image
avec 300 et une hauteur de 200. Maintenant, laissez-moi vous montrer
un autre exemple de recadrage, comment recadrer une image. Je crée un autre
fichier Python crop point pi et j'ouvre cette image à l'
aide du module pillow. Maintenant, je veux recadrer cette image, l'image lumineuse, l'image lumineuse
exacte. Pour cela, je vais
définir un crop variable. Recadrage égal à, nous devons
utiliser la fonction de recadrage, un type de recadrage par points d'image. Ensuite, à l'intérieur des arrondres, nous devons fournir les valeurs, valeur
gauche, valeur supérieure, valeur
droite et valeur inférieure Donc pour la valeur de gauche, je vais passer 50
pour la valeur supérieure, je vais passer 50 à nouveau. Et pour la bonne valeur, je vais passer 250. Et pour la valeur la plus faible, encore une fois, je vais passer 250. Ensuite, je vais remplacer
cette image par une image recadrée. Donc, copiez la variable recadrée déchirez-la avec ça. Et je
vais configurer ce fichier. Maintenant, après avoir défini ce fichier, si je pouvais exécuter ce
code dans mon terminal, vous pouvez voir
ici la
version recadrée de cette image. Sur le côté gauche, iCrof
50 pixels depuis le haut, iCrof 50 pixels et
depuis le côté droit, ici je recadre 250 pixels
et depuis le bas,
je recadre depuis la partie inférieure Et après avoir recadré cette
superficie, nous obtenons cette image. De plus, pour comprendre
les valeurs de recadrage, je vais passer un
seul commentaire Nous devons d'abord transmettre le lit, puis nous devons transmettre
la valeur supérieure,
puis la valeur droite puis la valeur inférieure. Maintenant, laissez-moi
vous montrer un autre exemple façon dont nous pouvons faire pivoter une image. Comme vous pouvez le voir, nous créons un autre fichier Python rotate point
pi et j'importe l'image. Maintenant, pour faire pivoter l'image,
vous devez d'abord définir une variable
et notre variable est la rotation. Rotation égale ici nous devons utiliser la méthode de rotation des
points d'image. Ensuite, à l'intérieur des rondes, vous devez mentionner le
degré de rotation. Je veux le faire pivoter jusqu'à
60 degrés, donc je passe les 60 degrés. Ensuite, dans notre image photo, je vais la
remplacer par cette image pivotée Et je vais configurer ce
fichier. Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, vous pouvez voir le résultat. Comme vous pouvez le voir, il fait
pivoter l'image à 60 degrés et il fait pivoter l'image dans le sens antihoraire. Voici donc comment nous pouvons
faire pivoter une image avec l'aide de la méthode de rotation
Helpop Permettez-moi maintenant de vous montrer
un autre exemple. Ici, je vais vous
montrer comment appliquer des filtres sur l'image. Pour cela, pour appliquer le filtre, nous créons
ici un autre fichier
Python : les filtres point pi. Maintenant, avant d'appliquer les
filtres avec la classe image TK, nous devons entrer dans d'autres
classes telles que le filtre d'image. Après le
filtre d'image commémotype et l'image Ops, pour flouter l'image, nous utilisons la méthode du filtre d'image, et pour la convertir
en image grascal,
nous utilisons la méthode Image nous utilisons Convertissons maintenant cette image
en image en niveaux de gris. Je vais d'abord le convertir en image
en niveaux de gris. Ici, je vais
définir un gris variable, le gris étant égal à, je vais
taper image Ops,
image Ops point grayscale Ensuite, à l'intérieur de la cavité ronde, je vais passer l'
image variable image Ensuite, je vais remplacer
l'image par une image grise. R. Maintenant, après avoir défini ce fichier, si j'exécute ce code
dans notre terminal, vous pouvez voir le résultat
ici. Il convertit cette image
en grisscalimage. Voyons maintenant comment
ajouter une barre, comment appliquer un
filtre de flou. Laisse-moi te montrer. Ici, je vais taper
une autre commande unique, Appliquer un filtre de flou,
puis je vais
définir un flou variable Flou égal à ici, je vais taper
image, point, filtre, filtre à points d'
image à l'intérieur des robes
rondes, et ici, je vais appeler cette
méthode, filtre d'image, filtre d'
image, point,
flou. C'est ça. Je vais configurer ce
fichier. Ensuite, je vais remplacer l'image grise par
l'image floue Copiez donc le nom de la variable
et je vais remplacer le gris par du flou et je
vais définir ce fichier Et cette fois, si j'exécute
ce code dans mon terminal, vous pouvez voir
ici l'image floue Voici comment
appliquer un filtre. Vous pouvez appliquer plusieurs filtres. Nous avons plusieurs types de filtres
, tels que le flou, le
contour, les détails, les bords améliorés, les
bords améliorés davantage, les
ambos, les bords fins, la
netteté, le lissage, le
tableau lisse et Je ne vais pas vous montrer tous
les filtres dans ce tutoriel. Sans flou, je vais appliquer un autre filtre,
qui est condure Je vais donc dupliquer
cette section et nommer Appliquer filtre de
contour. Ici je vais remplacer le nom de la variable
sanguine par contitor. Je vais
utiliser le shot de CUNTR et je vais remplacer le filtre
sanguin par un Ensuite, je vais montrer
le filtre de contour. Je vais configurer
ce fichier. Nous devons également commenter cette ligne, sinon elle va
la remplacer Je commente cette ligne. Maintenant, la question est de savoir ce que va faire le filtre de
contour ? En gros, ce filtre va
détecter les arêtes et
délimiter les arêtes. Donc, après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, vous pouvez voir les
bords de cette ampoule. Je détecte les bords et je
dessine les contours. C'est ce que font les filtres de contour. Nous avons maintenant plusieurs filtres. Je ne vais pas tout
appliquer. C'est à vous de
l'expérimenter. Sous le code, je vais fournir le
nom de
tous les filtres dans un commentaire. Je fournis ici tous les noms de
filtres courants que vous pouvez utiliser avec la méthode de filtrage d'image, le
flou, les détails du contour, mode d'
amélioration des bords, netteté des bords en
relief, le mode
lisse, lisse, lisse, rang de boîte
coussin, jeune fille, filtre minimum, avec la méthode de filtrage d'image, le
flou, les détails du contour, le mode d'
amélioration des bords, la netteté des bords en
relief, le mode
lisse, lisse, lisse, rang de boîte
coussin, jeune fille, filtre minimum, filtre maximum. Vous pouvez les appliquer une par une, toutes dans cette image. Je ne vais pas
vous montrer tout ça. N'oubliez pas qu'il s'agit du
filtre du module Pillow, non du Kintro Sans le module Pillow, vous
ne pouvez pas appliquer ce filtre, et vous devez vous en souvenir. C'est tout pour ce tutoriel. Merci d'avoir regardé cette vidéo. Restez à l'affût de nos
prochains tutoriels.
39. Utiliser le module ttk: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et dans ce tutoriel,
nous allons leur
apprendre à utiliser des assistants avec TTK Maintenant, qu'est-ce que TDK ? Qu'est-ce que le magicien TTIK ? Le module Kind TTK fournit un assistant
moderne d'apparence native
avec des capacités de thématisation. Contrairement aux assistants Tinter classiques, les assistants TTK sont plus
cohérents avec l'apparence de la plateforme et peuvent être
personnalisés à l'aide
de styles et personnalisés à l'aide Maintenant, au lieu d'utiliser le module TK, nous allons utiliser le module TTK Nous allons apprendre comment
utiliser le module TTK, assistant de style avec le
style TTK Nous allons également en
apprendre davantage sur les thèmes personnalisés. Enfin, je
voudrais vous donner un exemple de TTKMDU Nous allons créer un thème
personnalisé pour un mini chat. Dans ce tutoriel,
nous allons nous
concentrer sur l'utilisation du module TTk Dans un premier temps, nous devons comprendre
ce qu'est la lune TTC. Le module TTC est une extension
d' inter qui fournit des assistants au look
moderne, adaptés au
thème des systèmes
d'exploitation Contrairement aux assistants classiques
tels que la saisie des libellés des boutons,
leurs homologues
TTK
tels que TTK Button,
TTKlabel
TTKEntry utilise automatiquement TTKlabel
TTKEntry saisie des libellés des boutons,
leurs homologues
TTK
tels que TTK Button,
TTKlabel
TTKEntry utilise automatiquement un style cohérent avec le système. Vous pouvez l'appeler version plus mise à jour et mise à niveau du module TTK Commençons maintenant par l'aspect
pratique et voyons comment
utiliser les assistants TTK de base de TTKule Comme vous pouvez le voir, nous sommes dans le code Eater de
mon studio Wiz, et je crée une fenêtre Kiner
simple et basique Voici une géométrie 300 x 200. Maintenant, dans un premier temps, nous devons
importer le module TDK. Donc ici, je vais
taper depuis Kiner, je vais importer TTK Ensuite, je vais
créer une étiquette TDK. Je tiens à dire que nous
allons créer une étiquette mais ne pas utiliser le module T. Nous allons utiliser TT Mood. Je tiens à dire que nous
devons créer une étiquette, mais je n'
utiliserai aucune classe TK. Nous allons utiliser TTCass. Donc ici, je crée un niveau variable égal
à au lieu d'utiliser TK, ici j'utilise TK, tt Label et nous le
mettons dans une racine. Ensuite, le
texte de notre étiquette est « Entrez Uni ». En gros, dans ce tutoriel, je vais créer
plusieurs assistants TTk Ensuite, je vais emballer cette étiquette, le
pack
Level Dot, et je fournirai un peu de rembourrage selon la direction
de YX Après cela, je vais créer un champ
de saisie module TK
en utilisant TTKClass Pour cela, je vais
définir une entrée variable et une entrée égale à une
entrée à point T tt, et nous plaçons ce champ de saisie dans notre fenêtre racine, puis je
comprime ce champ de saisie. la même manière, de la
même manière, je vais créer
un bouton de soumission. Je définis un bouton variable, bouton égal au bouton TK, et je le place dans une fenêtre
racine et le texte de
notre bouton est soumis. Je vais également créer
un autre assistant en utilisant TTKClass et le
nom de notre assistant est Ici, je vais taper combo, combo égal à deux, je vais
taper T point Combo Box. Ensuite, à l'intérieur
du rond, je vais le
placer dans une fenêtre racine Et je vais
transmettre les valeurs. Ensuite, à l'intérieur du carré s ici, nous devons définir toutes les valeurs
de la liste déroulante En gros, nous devons
créer une liste de valeurs
de boîtes à options, et en tant que valeurs, je vais transmettre le nom des langages de
programmation, Python, Java, C
plus plus et JavaScript. Après cela, nous devons emballer
le type de boîte à options, le type de boîte à options, la méthode PAC à points
combinés. Je vais ajouter un peu de rembourrage
à xs, cinq FixelPadn. Ensuite, je vais configurer ce fichier. Ici, j'utilise plusieurs assistants. Maintenant, après avoir défini ce fichier et
exécuté ce code dans mon terminal, voici à quoi ressemblent nos
assistants TTK Il a un look professionnel
et moderne. Si vous l'utilisez,
alors le même
code Python est obtenu à partir d'
un bleu natif spécifique. Je tiens à dire que si
vous possédez Windows, les boutons
ressemblent à des boutons Windows. Et si vous possédez des MC W, cela ressemble à des boutons Mac. C'est pourquoi nous préférons
TK à Tiki. Voici donc le premier
tutoriel à ce sujet. Dans la partie suivante
de ce didacticiel, nous allons
styliser les assistants en
utilisant les méthodes de style ttkdt Merci donc d'avoir regardé
cette vidéo,
restez connectés pour notre prochain tutoriel.
40. Styliser les widgets avec ttk: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour avec un autre assistant d'équipe
lié au tutoriel. Aujourd'hui, dans ce tutoriel, nous allons
découvrir la méthode de style ttkt Maintenant, c'est quoi ça ? La classe de style Tt
contrôle l'apparence des assistants. Grâce à lui, vous pouvez personnaliser la
police, la couleur, les bordures, le rembourrage
et même le comportement de l'assistant dans
différents états, et même le comportement de l'assistant dans tels que
HoberPrest C'est assez similaire
au style CSS. Dans un premier temps, vous devez
créer un objet de style. Et dans notre deuxième étape, nous devons
configurer un style d'assistant. Chaque assistant T possède un nom de style
par défaut. Exemples pour le bouton, nous
devons taper le bouton T, pour l'étiquette, nous devons taper l'étiquette T, pour l'entrée pour taper l'entrée T, et pour le cadre, nous
devons taper le cadre T. À la troisième étape, vous pouvez
créer un style de nom personnalisé. Au lieu de modifier
le style global, vous pouvez créer le
vôtre à la quatrième étape Nous allons utiliser la fonction
de carte à points. Ici, en fonction de
plusieurs états, nous pouvons concevoir notre assistant, par exemple en appuyant touche
active pour désactiver le focus. Commençons donc par la
pratique et voyons
comment appliquer la méthode Ttktyle Donc, comme vous pouvez le voir, nous sommes
dans mon éditeur de code sal studio et je crée ici une simple fenêtre d'inter
de base, et j'importe également
TClass Dans un premier temps, nous devons
créer un objet de style. Pour cela, je vais
définir ici un style variable, un style égal au
style Ttkdt Donc, en utilisant la classe de style, nous définissons un objet. Ensuite, nous devons
choisir un thème. Pour cela, je vais
taper style, style, point de style temporel ainsi. Incorporez le style Dot Tuss à
l'intérieur des robes rondes. Dans le cours R, je
vais taper CL AM. Ici, nous utilisons clam
Time pour ce type. Ensuite, je vais définir
un bouton dans la fenêtre pour taper BTN ou une variable
n équivalent à, et nous allons définir
le bouton en utilisant TT glassy TK, Ensuite, à l'intérieur des robes rondes, je vais le placer dans
la racine de la fenêtre et texte de
notre bouton est
égal au texte contenu dans les
codes doubles à l'intérieur des codes doubles. Ici, je passerais le bouton de style. Je veux aussi appliquer ce style. Pour cela, nous devons
utiliser le paramètre de style,
sinon l'attribut de style. Ensuite, à l'intérieur des codes individuels, je vais
appliquer
ici mon bouton DotT Ce style, je
veux appliquer ce style. Nous devons maintenant
définir ce style. En gros, nous définissons ici
un style de nom personnalisé. Nous l'appelons bouton point P. Si nous n'avons pas défini de
style personnalisé pour ce bouton, il appliquera le même style
aux autres boutons. C'est assez similaire à la classe. Nous définissons ici une
classe particulière pour ce bouton. Ensuite, nous devons
emballer ce bouton. Pour cela, je vais attacher un pack de points à
dix boutons Mathog. Ensuite, à l'intérieur des rondelles,
je vais ajouter un
peu de rembourrage au niveau du YXSpad Y
et au niveau du rembourrage de 20 et Ensuite, nous devons
configurer ce bouton. Je veux dire styler le bouton. Ici, je vais définir un bouton de style de commande unique. Ensuite, en dessous, nous devons taper style style point
configure Method. Configurez. Ensuite, à
l'intérieur des robes rondes, je vais passer
le nom du bouton, qui est le mien Je copie le nom du bouton et
dans les codes simples, dans les codes doubles, je vais passer
le nom du bouton. Acoma, nous devons ensuite utiliser
les propriétés telles que la police, police, la police égale à, ici je veux
appliquer la police aérienne Au lieu de la double couche,
je vais opter pour le cadran. Ensuite, je vais
définir la taille de police et je veux utiliser 12 pixels. Ensuite, je vais fournir le poids de la
police, qui est en gras. la même manière,
je vais appliquer du found color, du found white. Ensuite, je veux
postuler, fond noir. Ensuite, je vais
ajouter un peu de rembourrage, un
rembourrage égal à, et je
vais ajouter un rembourrage dans
toutes les directions Donc, dans tous les sens, j'utilise dix pixels. Et entre les valeurs, vous devez indiquer
une virgule,
sinon vous allez lancer un point. Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal, voici à quoi ressemble notre
bouton de style. Vous pouvez maintenant voir que la
couleur perdue signifie que
la couleur de police est blanche et que la
couleur de fond est noire Si je le mets en bleu, si je veux le rendre bleu, et qu'ils définissent ce fichier et réexécutent ce code, vous
pouvez voir le résultat Parlons maintenant de l'état, façon dont nous pouvons appliquer l'état
en utilisant la méthode de la carte à points. Par exemple, lorsque notre
bouton est actif, je veux dire quand je clique sur
ma couleur sur ce bouton, je veux dire quand il
est actif, puis je veux modifier les propriétés
telles que
la couleur d'arrière-plan
et la couleur de premier plan Permettez-moi de vous montrer comment nous
pouvons utiliser la méthode cartographique. Pour cela, je vais
utiliser la méthode map, mais avant de
définir une seule commande, je vais taper en
utilisant la méthode point map. Je devrais être petit. Maintenant, sa méthode de carte à points de style
type. Carte. Ensuite, à l'intérieur des rondes
, vous voulez d'abord cibler le bouton en question
en utilisant son style nm personnalisé À l'intérieur du double parcours, je
vais passer mon bouton. Il ne reste plus qu'à sélectionner ce bouton. Je souhaite modifier la couleur de police. Lorsque je survole mes voitures
sur ce bouton,
sinon, appuyez sur le bouton. Pour cela, pour cela, d'abord, je vais choisir
mes propres couleurs que je vais nouer pour le sol. Le premier plan est égal à, et
ici nous devons transmettre une liste. Donc, à l'intérieur de ce carré, il est indiqué que
lorsque notre bouton est loué, certains types de PRD ED sont loués, alors je veux changer
la couleur de ce téléphone Je veux qu'il soit jaune. Et je vais configurer ce fichier. Après avoir défini ce fichier, si j'exécute ce code
dans mon terminal et que j'appuie sur le bouton, vous pouvez
maintenant voir la couleur de notre
bouton
passer du jaune au
blanc au jaune. Ensuite, je souhaite changer
la couleur de fond. Après le coma, je vais
sélectionner l'arrière-plan. Fond égal à
l'intérieur de la base carrée, à l'intérieur de la base carrée ,
si on appuie sur notre bouton, alors je copie cette déclaration
et si on appuie sur notre bouton, je veux changer la
couleur de cet arrière-plan, je veux le rendre rouge rouge rouge
et je vais remplacer pi Maintenant, changez la couleur de premier plan
et la couleur d'arrière-plan, là où nous appuyons sur le bouton Donc, après le fichier Sypris,
si je lance mon code dans mon terminal et que je clique
sur ce bouton, vous pouvez
maintenant voir notre couleur de
fond devenir rouge et notre couleur amusante devenir jaune Ensuite, lorsque j'entends ma
couleur sur ce bouton, je veux changer la couleur
d'arrière-plan. Je veux le rendre rose. Pour cela, dans notre
section d'arrière-plan après le coma, je vais utiliser un autre état de
style, qui est actif. Donc, pendant le tour plutôt que
dans les codes doubles, je vais réussir, je
vais taper active. Actif lorsque notre
bouton est actif, alors je veux changer la couleur d'arrière-plan et notre couleur de
fond est rose, et je vais définir ce fichier. Après avoir défini ce fichier, vous
exécutez ce code dans mon terminal, et lorsque je mets de la couleur sur ce bouton, vous
pouvez voir le résultat Maintenant, c'est devenu rose. Si vous voulez le
rendre vert, oui, vous pouvez simplement remplacer le rose
par du vert et définir le fichier. Si je loue mon code et que je tape
ma couleur sur ce bouton, vous pouvez voir le résultat.
Maintenant, il est devenu vert. Voici donc comment appliquer un état de
style avec methop. J'espère que le concept
est maintenant clair Fody. Dans ce didacticiel,
nous apprenons donc comment
styliser les assistants avec
tt style Mathup J'espère que le
concept est maintenant ClearFodi. Merci d'avoir visionné cette
déclaration vidéo pour notre prochain tutoriel.
41. Thèmes personnalisés dans ttk k: Bonjour, les gars. C'est bon
de te revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel. Aujourd'hui, dans ce
tutoriel, je vais
parler de thèmes personnalisés, de thèmes personnalisés en TTK La classe de style TTK vous permet
de gérer style de
l'assistant et de
passer d'un thème intégré à
un thème personnalisé Thème disponible, vous pouvez
sélectionner : win native, clame, Vista classique par défaut,
expinative, etc. Il s'agit des
thèmes disponibles que vous pouvez sélectionner. Nous avons déjà utilisé un thème dans notre précédent tutoriel,
qui est Clam Vous pouvez également utiliser Vista, Classic également, comme vous le souhaitez. Vous pouvez également créer
votre propre thème en
chantant et en modifiant
le thème existant Étudions la pratique et essayons de comprendre de quoi
je parle. Comme vous pouvez le voir, nous sommes dans mon éditeur de code
Visual Studio, et j'ai ouvert ici mon
précédent Python Five. Nous apprenons ici comment
utiliser la méthode cartographique, comment styliser les boutons et comment
configurer les assistants Vous pouvez maintenant remarquer comment nous
appliquons un thème revendiqué. Si je définis ce fichier et que j'exécute
ce code dans mon terminal, maintenant, après avoir appliqué ce thème, voici à quoi il ressemble. Voici à quoi ressemble notre
bouton. Mais si je change de thème, laissez-moi vous montrer si je
fais de Vista un type VIS TA, puis que je définis ce fichier et que je lance
ce code dans mon terminal. Vous pouvez maintenant voir le résultat
différent. Après avoir appliqué le thème, il faut changer le bouton fonction du style du thème. De même, si vous souhaitez en
appliquer un autre,
tel que le classique, au lieu de l'utiliser, je
vais appliquer le classique. Définissez ensuite ce fichier
et réexécutez ce code. Vous pouvez maintenant voir un
résultat
légèrement différent pour ce bouton. Voici à quoi cela ressemble après avoir
appliqué le bouton classique. Tout est une question de thème. Mais dans ce tutoriel, j'essaie de vous montrer comment
nous pouvons créer
notre propre thème personnalisé. Pour cela, je vais définir un autre fichier
Python dont le nom final
est le
thème de soulignement personnalisé point Pi Dans un premier temps, je vais importer les
modules nécessaires, TK et TK. Après cela, je vais créer la fenêtre
racine en utilisant la classe TK. De plus, j'attribue un exemple de thème
personnalisé au titre. Ensuite, j'exécute la boucle principale, root point main loop. Après cela, nous devons définir l'
objet de style en utilisant la classe TT. Donc, tapez le style égal
à la classe de style Tt, et maintenant le style devient un
objet, créé par la classe de style. Je vais maintenant
créer des quizards. En gros, je souhaite
créer un identifiant à partir de. Formulaire de connexion thématique personnalisé. Et pour créer le login à partir de, nous devons prendre une étiquette. Je tape donc label, TT label parce que Hero a utilisé classe
TD pour cette étiquette à points tt, et nous l'avons placée dans une fenêtre racine et le texte de notre étiquette est le nom d'utilisateur. J'emballe cette étiquette avec YXSpaddy. Ensuite, je
vais me familiariser avec l'entrée. Je vais donc
taper une entrée à point t et je place ce
champ d'entrée dans une fenêtre racine, puis je vais
emballer cette entrée Ensuite, nous devons définir
une autre étiquette pour le mot de passe. Nous devons définir une autre
étiquette et une autre entrée. Notre étiquette suivante est mot de passe et je crée une entrée
pour ce mot de passe, et dans notre champ de saisie
pour le mot de passe, au lieu d'afficher
les caractères, je montre
ici les étoiles. Quel que soit le personnage que nous croisons dans ce champ, il l'
affichera sous forme de signe astrologique Ensuite, nous devons créer
un bouton de connexion. Pour cela, je vais
prendre un bouton à points et le placer dans une fenêtre racine
et le texte de notre bouton est login.
Je vais
configurer ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal,
voici à quoi ressemblent le bouton de connexion
et le mot de passe. Je vais maintenant
créer un thème personnalisé et je vais
appliquer ce
thème personnalisé à ces boutons. Non seulement les boutons,
je vais également les appliquer dans une entrée d'étiquette. Après avoir défini
cet objet de style, je vais taper une seule
commande, créer un thème personnalisé. Ici, pour créer
le thème personnalisé, nous devons taper le style Object dont nous avons besoin pour utiliser
cette classe theme create. À l'intérieur des robes rondes , nous devons d'abord
fournir un thème personnalisé Dans le double code,
je vais leur passer la virgule supérieure, puis nous devons
passer le thème parent Tapez parent et pour
le thème parent, je vais taper Clem Nous devons également définir les paramètres de configuration,
et c'est le principal. Dans les paramètres, je vais
fournir un dictionnaire. En gros, ici, nous allons
modifier le thème existant, qui est revendiqué dans notre
propre thème personnalisé, qui est basé sur
le thème de réclamation. Tout d'
abord, je vais
styliser les boutons. Pour cela, dans le dictionnaire des
paramètres, notre première touche est le bouton T. À l'intérieur du double
cours, je vais
taper le bouton T, puis deux points. Ensuite, dans les poses, puis dans la liste ici,
je vais configurer C'est un cours de base de données à
taper, configurer, puis à l'intérieur des deux points, je vais créer
un autre dictionnaire. Ici, vous pouvez voir dans
le dictionnaire des paramètres que nous avons une valeur tibétaine. C'est un article du dictionnaire. Et dans ce dictionnaire
tibétain, nous créons
ici un autre
dictionnaire, qui est configuré. Je vais maintenant configurer
les propriétés,
telles que le premier plan. Maintenant, dans le double plat, je vais taper
quatre white white. Après cela, je vais définir le fond pour le
fond, j'utilise cette couleur. Ensuite, je vais définir
la police pour la police, HertyFont Aerial,
12 pixels et gras Ensuite, après avoir configuré le
bouton T avec ces propriétés, je veux changer,
je veux changer la couleur d'arrière-plan chaque fois que
j'active ce bouton. De plus, je souhaite changer la couleur de fond
chaque fois que j'appuie sur le bouton. Pour cela, dans ce dictionnaire
tibétain, ici, je vais prendre
un autre élément, qui concerne les mathématiques. Ensuite, à l'intérieur de la robe Cali
puis à l'intérieur des calices, je veux changer le fond Je souhaite changer l'arrière-plan
lorsque j'ai actionné ce bouton. Lorsque j'ai appuyé sur le bouton T, je veux
le changer en cette couleur et là où j'appuie sur le bouton, je veux
aussi
le changer en cette couleur. est également nécessaire de fournir
une virgule entre ces deux v car ils
sont tous des valeurs de
dictionnaire,
configurées et cartographiques Donc, virgule, je vais
passer cette carte de valeurs. Maintenant, dans le dictionnaire des
paramètres, nous avons la touche T. Ensuite, si nous
appuyons sur la touche
T, nous passerons
aux deux autres dictionnaires,
configuré et cartographié. Dans notre section configurée, nous configurons la
couleur de premier plan, la couleur d'arrière-plan, police, etc. Dans
notre section de carte, nous changeons simplement la couleur d'
arrière-plan W le bouton est actif et
lorsque le bouton est enfoncé. C'est pour les boutons, et nous utilisons le style T, c'est pourquoi nous
devons taper les boutons T. Ensuite, après la virgule, de la
même manière, nous devons styliser les
étiquettes, les étiquettes en T. Ensuite, dans l'
ali par rapport à ici, je vais configurer la couleur marron
pour le bleu de l'étiquette et aussi
changer la couleur de la police. Harrow est une police Helica, et nous la fabriquons en taille 12 Ensuite, après le coma, je vais
styliser le champ de saisie. Hear a configuré
ce champ de saisie. Pour cela, tapez notre touche T, configurez-la et ajoutez un
rembourrage de cinq pixels Je vais configurer
ce fichier. C'est ainsi que nous pouvons créer
notre thème personnalisé. Et le nom de notre thème est mon thème. Si j'exécute ce code
dans mon terminal, vous pouvez voir les modifications. Rien ne va se passer car nous
créons simplement le thème, nous ne l'appliquons pas. Nous devons maintenant appliquer le
thème dans cette fenêtre. Pour cela, nous devons utiliser un calcul. Ici, nous devons taper
style dot theme use. Ensuite, à l'intérieur des cuivres ronds ,
à l'intérieur des codes doubles, cette fois, je vais utiliser notre
propre thème personnalisé. C'est ça. Je vais
configurer ce fichier. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, vous pouvez voir le résultat
ici. Ici, vous pouvez voir
si nous avons réussi appliquer notre propre thème personnalisé. En gros, nous personnalisons notre thème
existant, un thème propre. Nous personnalisons ce
thème et changeons couleur de fond de
couleur ronde
pour le bouton, également pour l'étiquette Te,
également pour l'entrée. Pour l'entrée, il suffit
d'ajouter un peu de rembourrage. C'est pourquoi il semble beaucoup
plus grand que le précédent. J'espère que maintenant le concept
est clair pour vous, comment nous pouvons créer notre propre thème
personnalisé et comment nous pouvons appliquer plusieurs
thèmes prédéfinis tels que native, claim ou default, etc. C'est tout pour ce tutoriel. Merci d'avoir regardé cette vidéo, restez connectés pour le
prochain tutoriel.
42. Créer des applications GUI à l'aide de classes: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un nouveau tutoriel, et aujourd'hui dans ce tutoriel, nous allons
commencer un nouveau chapitre. Nous allons appliquer la programmation
orientée objet dans Kinter. Nous connaissons tous l'importance de la programmation orientée
objet
dans notre projet. Cela rend notre code plus propre. Je rends notre application
évolutive, également réutilisable. Dans cette section, nous
allons créer des applications
GI à l'aide de classes. Au lieu de tout écrire
dans un style procédural, vous pouvez structurer votre interface graphique
au sein d'une classe. Cela rend votre code
modulaire et réutilisable. Et dans la partie suivante
de ce didacticiel, nous allons apprendre à
structurer une application plus large. Pour les applications plus volumineuses, vous
pouvez créer des cadres sous forme classes
distinctes, puis
passer de l'une à l'autre, comme des pages. Ensuite, nous allons
parler d'héritage. Héritage avec réutilisabilité de l'
assistant. Vous pouvez créer des assistants personnalisés en
héritant de Kinder Wizards héritant de Kinder Étape par étape, je vais vous
guider dans tout cela. Dans ce didacticiel, nous
allons parler de la façon dont nous
pouvons créer des applications GI à
l'aide de classes dans Kiner. Si vous n'avez aucune
connaissance de la
programmation orientée objet, vous pouvez consulter ma section
précédente. C'est facultatif, mais
dans cette section, je couvre tout ce qui concerne programmation orientée
objet en Python. Et si vous
avez déjà des
connaissances en
programmation orientée objet, vous pouvez
commencer par ce cours. Il s'agit généralement de la
première étape l'enseignement
orienté objet avec Kiner car cela aide
les étudiants à passer d'un code de style
procédural à un code de structure basé sur les
classes Maintenant, mes cours à Kiner. Cela
permet d'organiser notre code, de faciliter la
réutilisation de l'assistant et de la logique, de
convenir à des applications plus importantes, permettre aux méthodes de gestion des événements
de rester au sein de la classe. Si vous parlez de l'avantage
par rapport au style procédural, cela vous donne un code plus propre. Une logique se trouve à l'intérieur d'une classe.
De plus, il est évolutif. Il est facile d'ajouter à la fois
un assistant et des méthodes. De plus, il est réutilisable. Vous pouvez étendre la
classe pour de nouvelles fonctionnalités. Donc, sans perdre votre temps, commençons par l'aspect pratique
et voyons comment nous pouvons l'utiliser, comment nous pouvons utiliser les classes
dans notre projet. Comme vous pouvez le voir, nous sommes dans
mon studio so coordinateur et je crée
le fichier Python main point pi. Dans un premier temps, je vais d'abord importer
notre module Kiner. Donc route, importez Kiner
en tant que T. Ensuite, je vais définir une classe et
la classe héritera
de la classe TK Donc, la classe, et le nom de notre
classe, est mon application, Mapp et cette classe Maya
en hauteur avec une classe T, un point PK de type t et
dans cette classe pour l'instant, je vais taper pass Après cela, après cela, je vais appeler si le nom égal à égal à la fonction principale. Type I, nom du trait de
soulignement , caractère de soulignement égal
à l'intérieur des codes
doubles,
soulignement de soulignement, fonction principale du soulignement, Mince. de soulignement, fonction principale du soulignement, Mince. Ensuite, dans cette fonction, je vais créer un objet. L'objet utilisant
cette classe de mon application. Ici, je suis de type A égal à M A. Nous créons cet objet
en utilisant cette classe, mon application. Ensuite, je vais
lancer la boucle principale. Tapez donc dans la boucle principale
pour créer la fenêtre. Maintenant, votre première question, pourquoi j'utilise si le nom
est égal à tequs pour signifier, cette méthode, pourquoi j'
utilise cette condition Si le nom est égal à tequos pour moi. Parce qu'ici, nous exécutons
le fichier directement. Nous n'importons pas le fichier depuis un autre fichier
ou un autre module. C'est pourquoi nous devons utiliser un nom égal à la
fonction principale et c'est important. Ce bloc de code vous permet
d'écrire des modules réutilisables tout en permettant au
crept de fonctionner lui-même. Maintenant quoi ? Si j'exécute ce code, je lance ce code, il
va créer un inter-vent
de base. Laisse-moi te montrer. Donc,
pour exécuter ce code, comme vous pouvez le voir, cela crée
un vent intermédiaire de base. Maintenant, revenons au cours. La classe Maya en
hauteur avec la classe T. Maintenant, dans cette
classe Maya, nous devons d'abord
créer un constructeur Donc, donnez un pourboire à Dave : il
souligne que c'est un
constructeur
innit et qu'à l'intérieur du terrain, il la SL est l'abréviation de l'objet lui-même. Je veux parler de l'application elle-même.
Nous le savons déjà. Vous pouvez maintenant remarquer que cette classe
est directement liée à la classe TK, qu'elle hérite de
la classe TK et que
la classe T elle-même possède son
propre constructeur innit,
et ici nous redéfinissons le constructeur et ici nous Maintenant, nous ne sommes pas en mesure d'utiliser propriétés
TClass
telles que les variables, les variables instance
TKlass, les variables de
classe, etc. Pour résoudre le problème ici
dans le constructeur init,
nous devons créer un constructeur superstruct Je vais taper super
then dans und brass,
puis taper point underscoe
underscoe Init constructor Si nous faisons cela, nous pouvons maintenant utiliser des
variables de classe T, telles que la variable d'instance, la
variable de classe, etc., ainsi que d'autres
fonctions et méthodes Alors ici, je vais définir
un titre pour définir le
titre de cette application, de
cette fenêtre, nous devons
utiliser les cellules self,
dark, title method, et
dans les versets ronds, dans les codes doubles, je vais taper ici je vais taper
ici je vais taper la
programmation orientée objet, par exemple. Je vais maintenant
définir ce fichier et exécuter ce code dans mon terminal. Vous pouvez maintenant voir qu'il a réussi ajouter un titre à cette fenêtre. Orienté objet,
par exemple, mais quoi ? Si je commente ce
superconstructeur, puis que je redéfinit ce fichier et essaie de l'exécuter,
laissez-moi vous le montrer C'est par une flèche
car, comme je vous l'ai dit, lorsque je crée le constructeur
ing, il remplace l'application Je remplace le constructeur de la
classe parent, et cette application est
créée avec la classe TK Pour l'utiliser, nous devons
utiliser le constructeur superit. Maintenant, encore une fois, nous pouvons utiliser toutes les propriétés de TClass et vous devez le comprendre Dans notre exemple précédent, nous utilisons les
noms d'objets tels que root. Mais dans ce cas, si nous utilisons la
classe à l'intérieur de la classe, nous utiliserons l'ensemble. Donc, de la même manière, je vais définir
la géométrie. Tapez donc self dot
geometry, 300 x 200. Après cela, après avoir
défini la géométrie, je
vais créer un assistant. Je vais créer une étiquette. Attachez donc l'étiquette à points automatique, T étant égal à l'étiquette à points p. Ensuite, je veux le
placer dans une fenêtre automatique. Self signifie dans notre
cas, l'application. Ensuite, j'ai défini le texte
de cette étiquette, bonjour Kinder avec le programme de
location OPP Object et j'utilise une police, une police aérienne et notre taille de
police est de 12 pixels Ensuite, nous devons, puis nous
devons emballer cette étiquette. Label Self point label dot tag à l'intérieur de la course Brass
Paty de dix pixels Je vais régler celui-ci. Je vais maintenant
définir un bouton. Je tape donc le bouton SL Gut
égal au bouton t point, et nous le mettons dans une fenêtre automatique. Et le texte de notre bouton est « Cliquez sur moi ». Et comme vous pouvez le voir, elle utilise le paramètre de commande. Mais vous pouvez remarquer qu'en
appelant la fonction, nous utilisons self chaque fois
que vous avez besoin d'utiliser SL. Si vous créez des
variables, sinon des fonctions, sinon
appelez des fonctions, vous devez appeler
St car nous sommes dans la classe et elle
utilise un constructeur C'est un constructeur. Je tape commande égale à la méthode
SelbdToClick Ensuite, je vais
emballer ce bouton. Pour cela, encore une fois, nous devons
taper la méthode Silt Dot Button
Dot Pack Après cela, nous devons
gérer cette fonction
pour ce bouton, et ici je vais gérer le
bouton à l'intérieur de cette classe. Donc, pour cela, je n'utiliserai aucune commande approfondie. Je veux juste taper sur le trait de soulignement, cliquez sur Cliquez égal à ici À l'intérieur des bretelles rondes, nous devons passer
le self self ker Ensuite, dans la méthode onclic, ici, je veux configurer Je souhaite configurer cette étiquette. Je vais donc taper la méthode de configuration par points self
label. Configuration. À l'intérieur
des accolades, du texte, du texte égal à
l'intérieur du double code, je vais taper
le bouton, cliquer, le transmettre Oups. Nous devons le créer
en dehors de l'étiquette d'indentation, en dehors du constructeur informatique J'ai donc coupé cette partie
et déplacé vers l'
extérieur l' étiquette
d'indentation du constructeur innit Sinon, cela
ne fonctionnera pas,
ce qui se trouve à l'intérieur de la classe, mais en dehors du
constructeur innit. P a défini ce fichier. j'exécute ce code
dans mon terminal, vous pouvez voir
ici notre étiquette hello kinter avec programmation
orientée objet et nous avons le
bouton, click me Si j'appuie sur le bouton, vous pouvez voir le bouton cliquer. Notre fonction fonctionne parfaitement. Juste une chose dont vous devez vous
souvenir : tous les éléments de l'interface graphique
tels que le bouton d'étiquette sont initialisés lors de la création
de la classe Tous ces éléments s'initialisent
avec self object. Ces objets personnels désignent
l'application elle-même. Ce qui est créé par mon application. Voici donc le premier exemple programmation orientée objet, lequel je vous apprends
comment utiliser des classes pour créer une application d'interface graphique. J'espère que c'est clair pour toi maintenant. Dans le prochain tutoriel,
nous allons structurer une application de
plus grande envergure Pour les applications plus volumineuses, vous
pouvez créer des cadres en tant que classe
distincte et les
balayer entre les pages C'est donc tout pour ce tutoriel. Merci d'avoir regardé cette vidéo, restez connectés pour notre
prochain tutoriel.
43. Structurer des applications plus grandes: Salut, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour avec un nouveau tutoriel aujourd'hui. Dans ce tutoriel, nous apprenons comment nous pouvons structurer application
plus large à
l'aide de classes Pour BigAAPS, vous pouvez
créer des cadres en tant que classes
distinctes, puis
passer de l'un à l'autre comme des pages En gros, lorsque votre application grandit, conservez tout dans un seul fichier
ou une classe devient désordonnée. Une bonne pratique consiste
à utiliser des cadres sous forme pages
individuelles, puis à
passer de l'un à l'autre dans la fenêtre
principale de l'application. Commençons donc par l'aspect
pratique et créons une application Kinter de plusieurs pages Comme vous pouvez le voir, nous sommes dans l'éditeur de code de
mon studio Visa, et je crée déjà un fichier
Python main point Pi. Dans un premier temps, je vais
saisir Kintermdule. Donc ici, je vais taper
input inker en tant que TK. Ensuite, je vais
définir une classe. Ici, je vais taper class class et notre
nom de classe est main A cette classe, la principale classe d'application hérite de cette
classe TK classe TK est la classe parent
de la classe d'application principale, et pour l'instant,
je vais taper pass. Après cela, nous allons définir cette condition si le nom est
égal à moi. Parce que nous l'utilisons pour garantir que votre application s'exécute uniquement lorsque le
fichier est exécuté directement, non lorsqu'il est
importé ailleurs. Après cela, dans
cette condition, je vais créer un objet, un
objet en utilisant cette classe. Donc, tapez app
égal à l'application principale. Ici, nous créons l'objet d'application
à l'aide de la classe d'application principale. Ensuite, je vais
lancer la boucle principale. Donc, pour taper app point main loop. Cela va créer une
fenêtre de base, une fenêtre intermédiaire de base. Nous l'avons déjà appris
dans notre précédent tutoriel. Revenons maintenant à l'application principale et créons
le constructeur Ici, je crée le constructeur,
Dave, dsc undersco Ici, comme vous le savez, nous
devons passer le paramètre Lt. Ensuite, nous devons en faire un
superconstructeur, un constructeur super
innit ,
taper super Round sus uncoe
underscoe Init constructor, undersco UnderscoeRound ***. Dans notre précédent tutoriel, j'explique pourquoi nous avons besoin d'
utiliser un superconstructeur Comme vous pouvez le voir, notre classe
est dirigée par la classe T et la classe T elle-même
possède un constructeur innit Dans notre application principale,
nous avons également le constructeur innit Ici, nous redéfinissons
le constructeur, mais nous devons utiliser notre classe parent : constructeur,
méthode, fonctions variable Si nous ne l'utilisons pas,
nous ne pouvons pas utiliser propriétés et les méthodes du constructeur de la classe
parent C'est pourquoi nous devons utiliser le constructeur
super innit. Cette super méthode. Après cela, je vais définir
le titre pour taper self point title
multipage inter app Ensuite, je vais
définir la géométrie. Ici, je vais taper la géométrie automatique des
points à l'intérieur du rond au lieu de 400 x 250 pixels. Ensuite, je vais créer un
conteneur de quatre pages. Ici, je vais taper un
conteneur égal à t point frame, continuer égal à la méthode
tdt frame, et nous le mettons dans
la fenêtre self Self dans l'objet, l'objet lui-même,
à cette variable. Après cela, je vais
emballer ce contenant. Je tape donc continent point pack et je définis fill both
et j'étends True. Je vais sous-traiter ce
fichier. En gros, nous créons un cadre vide principal et à l'intérieur de
ce cadre principal de l'application, nous allons
mettre deux autres pages
ici. Pour cela, je vais utiliser
des classes pour créer les pages. Ici, je vais taper
une seule commande, page 1. Créons maintenant la première page. Je vais définir une classe,
et le nom de notre classe est
page 1. Première page du cours. Ensuite, à l'intérieur de la robe ronde
en tant que classe parent, nous utilisons la classe de cadre time T. Le cours de la première page est plongé dans un cadre en verre
à pois. Il se trouve dans un cadre à points, ce qui signifie que la première page est
une sorte d'assistant de cadrage. Comme vous le savez, un cadre est comme un conteneur
qui peut contenir d'autres assistants, tels que des étiquettes, des
boutons, etc. Ensuite, dans cette classe, nous devons définir le constructeur
d'initialisation Alors je tape d dedans. À l'intérieur du
laiton rond, nous devons transmettre le paramètre de cellule et
deux autres variables, car
ce sont
toutes des variables de classe telles que le parent et le contrôleur. Ici, le parent représente
le conteneur, généralement un
cadre de montage ou une fenêtre endroit où ce cadre
sera placé et la variable du contrôleur est une référence à la classe
d'application principale. Vous pouvez appeler des méthodes telles que show
frames et d'autres méthodes. Ensuite, dans ce constructeur, je vais utiliser ce
super livre de mathématiques, constructeur
super innit, et nous passons
ici Comme vous le savez, nous
sommes maintenant en mesure d'accéder au constructeur de la classe de
brevets, T frame. Ensuite, je vais créer un assistant d'étiquetage
dans ce cadre. Je crée une étiquette
égale à t label, et nous la plaçons dans une cellule
Selfo Window, puis le texte égal
à celui-ci correspond à la première page, taille de police est de 14 et
notre style de police est aérien Après cela, nous devons emballer cette étiquette. Ensuite, je crée un bouton, le bouton est
égal au bouton acheté, je le place et moi dans
une fenêtre automatique et le texte de notre bouton est « aller à la page Ensuite, je marque ce bouton. Comme vous pouvez le constater, nous n'utilisons aucun paramètre de commande
pour ce bouton. Nous allons l'utiliser
plus tard. Voici notre première page. Maintenant, de la même manière, je vais créer
une autre page. Je duplique cette section, et ici, je vais
taper un seul commentaire. Il s'agit de la page deux. Je vais également
modifier le texte. C'est la page deux.
C'est la page deux. Comme je vais
changer le
texte du bouton , je vais le
faire passer à la première page. Revenons maintenant au
cours Mine. Ici, je vais
définir un dictionnaire. Ce dictionnaire va
stocker tous les cadres. Je veux dire les pages. Tapez donc des
cadres à points identiques à un dictionnaire rond
par rapport à un dictionnaire vide. Ici, la clé représente
le nom de la classe, et vous représentez l'objet de cadre
réel créé à partir de cette classe. Ensuite, nous devons parcourir
ces pages, telles que
la page 1 et la page 2. Nous devons en faire deux,
pas un. Il y en a deux. Donc ici, je tape F
dans les pages 1 et 2. F signifie cadre. Ensuite, dans ce
pro, frame égal à I dans le round
contre continuer et self, je veux dire que cette boucle itère dans toutes
les classes de pages et frame égal à F à l'intérieur
du round par rapport au container et crée automatiquement un
instant de cette page N'oubliez pas que continuer est
l'assistant parent dans lequel se trouve la page et où self
est le contrôleur principal. Je veux dire l'application principale. Je veux dire que lorsque F est égal à la page un, cela devient un cadre
égal à la page un, et lorsque F est égal à la page deux, devient un cadre égal à la page deux. Ensuite, nous devons définir le nouvel objet cadre dans un
dictionnaire à l'aide de la classe. Je veux définir dans ce dictionnaire de
cadres. Pour cela, ici, nous devons attacher des cadres à points à
l'intérieur des Rundresses Je vais transmettre la variable
frames equivalent to frame Il a défini le nouvel
objet de cadre dans un dictionnaire. En gros, il est très
facile de récupérer un cadre. Et plus tard, nous pourrons facilement le montrer. Après cela, nous devons
emballer ce cadre. Pour cela, je vais
utiliser la méthode GET. Tapez donc frame point
GED, numéro de ligne zéro, numéro de
colonne zéro, sticky
NSEW et non sud-est ouest Ici, nous plaçons le cadre dans un conteneur à la
même position, numéro de
ligne zéro et numéro de
colonne zéro. En gros, tous les cadres se chevauchent
dans le même espace. Et comme vous le savez, NSEW signifie
remplir toute la fenêtre. Cela signifie qu'il va l'
étendre au nord, au
sud, à l'est et à l'ouest. Ensuite, en dehors de la boucle à quatre
et à l'intérieur de cette classe, je vais définir
une autre méthode. Donc, tapez, Sono type, Dave et function et le nom de
notre méthode est show frame here
in the show frame, ici je vais passer
le paramètre elf et les classes de page Ainsi, chaque fois que nous appelons
cette fonction, nous devons transmettre le nom de la
classe de page ici, par exemple page une page deux. Après cela, dans cette méthode, nous devons récupérer l'objet de
cadre demandé dans le dictionnaire Pour cela, tapez les cadres
à points automatiques et ici pour fournir la classe de page
variable. Et je vais le
stocker dans une variable de cadre. Je vais donc taper frame
égal à self dot frames. Et ici, nous devons transmettre
le nom exact du cadre chaque fois que nous devons
appeler la fonction. Ensuite, je vais utiliser l'
importante méthode Kinter. Un KitermTod qui
recouvre le cadre,
laisse le cadre sélectionné
au-dessus de tous les autres cadres dans un même conteneur et C'est un indice Z. Si vous savez comment
fonctionne l'index Z dans les estimations et les CSS, vous le comprenez facilement. Pour cela, nous devons utiliser
une méthode appelée T RiS. Donc, pour taper frame point, prenez RI. Cela va déplacer
le cadre sélectionné devant les autres cargaisons. Après cela, nous devons appeler
cette fonction, show frame. Pour cela, nous devons accéder à nos
pages telles que la première et
la page deux,
et là, nous devons utiliser le paramètre de
commande, la commande. Je vais utiliser la ligne O donc
tapez Lambda, Lambda et ici, je vais taper controller,
controller point, méthode Shoframes Je vais appeler
la méthode Shoframe. Afficher les cadres, souligner le cadre. Ensuite, au cours des rondes
de notre première page, je vais passer à la page deux. Je vais passer à la page deux ici. Copiez donc le
nom de la classe, page deux, et je vais le
mettre ici, page deux. Sur notre première page, si
nous appuyons sur le bouton, il sera expédié
à la page deux. De même, lorsque
nous sommes en page deux, nous devons
accéder à la première page. Je vais donc copier exactement
la même commande et passer à la page suivante, et je vais
fournir une virgule Après cela, j'ai mis la commande et je vais
changer le nom de la page. Ici, je vais
passer la première page du cours. Je vais donc remplacer la
page deux par la première page. Et je vais configurer ce fichier. Maintenant, avant de définir ce
fichier et d'exécuter ce code, je vais ajouter des
propriétés à nos cadres. Je souhaite modifier leurs couleurs de
fond. Ici, dans notre
constructeur superit, après le coma, je
vais taper BG BG signifie couleur de fond, et je veux utiliser
la couleur bleu clair, un certain type, clair, bleu. la même manière, je souhaite utiliser couleur
différente
pour la deuxième page. Je copie
la ligne et je la colle
ici. Je vais changer le nom de la couleur
et le
rendre vert clair vert clair. Voilà, vous pouvez parfaitement
identifier les pages. Si je définis ce fichier et que j'exécute
ce code dans mon terminal, maintenant vous pouvez voir, maintenant vous pouvez voir dans notre
fenêtre Cinter, que nous avons un cadre Nous avons un cadre à l'intérieur et à l'intérieur de ce cadre, nous
avons un autre cadre. C'est la page deux. Si vous souhaitez passer
à la première page, appuyez sur le bouton aller
à la première page. Si j'appuie sur le bouton, vous pouvez
maintenant le voir
passer à la première page. C'est la première page. Encore une fois,
si j'appuie sur ce bouton, il passe à la page deux. Maintenant, il y a un autre problème et laissez-moi vous montrer le problème. Si je lis mon code, vous pouvez
maintenant voir qu'il
s'est ouvert sur la dernière page. Je tiens à dire que la page s'
ouvre trop vite. Tout d'abord, cela ouvre la
deuxième page, mais je n'en veux pas. Je veux d'abord ouvrir notre
page. Pour cela, nous devons le sélectionner
. Laisse-moi te montrer où. Pour sélectionner la première page, nous devons appeler
ici la fonction
show frame. En dehors de la boucle à quatre boucles, ici, je vais taper la méthode
Self-Set Dot Shaframe J'appelle cette fonction
et B Default, je fournis le
nom de la classe, page 1. Donc, veuillez définir ce fichier
si j'exécute ce code dans mon arminal. Maintenant,
vous remarquerez qu'il ouvre la page une en premier,
car nous sélectionnons
ici
celle-ci, ShoFramePage Par défaut, je vais
ouvrir la première page. Si j'appuie sur ce bouton, passez à la page deux, maintenant vous pouvez le
voir passer à la page deux. Si j'appuie à nouveau sur le bouton,
je reviens à la première page. J'espère donc que vous comprenez
maintenant comment nous pouvons structurer une application
plus large à l'aide de classes. Merci donc d'
avoir regardé cette
déclaration vidéo pour notre prochain tutoriel. Dans le prochain tutoriel, nous
allons parler de l'héritage, façon dont nous pouvons utiliser l'héritage
dans des applications de type.
44. Exemple 1 - Bouton stylisé personnalisé: Encore une fois, je suis de retour
avec un nouveau tutoriel la
programmation orientée objet avec Kiner. Et dans ce tutoriel, nous allons
apprendre l'héritage et la réutilisabilité des magiciens
dans Ginter Au lieu de réécrire un code d'assistant
similaire, nous pouvons utiliser l'héritage
pour étendre Kiner Wizard et créer des composants
réutilisables personnalisés Nous pouvons l'utiliser pour les boutons, les étiquettes et les formulaires réutilisables. Et aujourd'hui, dans ce tutoriel, je vais vous montrer le premier exemple de bouton de style
personnalisé. Nous allons définir
une classe de bouton personnalisée, et nous allons
utiliser cette classe, et nous allons
utiliser la même classe plusieurs fois pour
créer le bouton. Commençons donc par la pratique et voyons comment nous pouvons le créer. Comme vous pouvez le voir, nous sommes dans mon
éditeur de code Salt Studio et je crée un fichier
Python main point P. Dans un
premier temps pour importer le module. Je tape import Kiner en tant que TK. Ensuite,
nous devons définir une
classe pour l'application. Alors tapez class my app. Et cette classe est
dans la classe Had by TK, et à l'intérieur pour le moment, je vais taper pass. Ensuite, vous devez passer chaque
nom égal à égal à fonction
principale à l'intérieur
ici et à l'intérieur ici, je vais créer l'objet. Ce qui est utilisé par cette classe
et le nom de notre objet est app. Ensuite, je vais taper
app point Min Loop. Et je vais configurer
ce fichier. Cela va créer une fenêtre intermédiaire de base. Après cela, revenons à la carte où je vais
créer le constructeur Dans la carte, je
vais supprimer la passe et créer
le constructeur Tapez donc Dave init constructor. Ensuite, à l'intérieur de
ce constructeur, nous devons en faire un
superconstructeur Ici, je vais taper le constructeur
SuperDTet. Ensuite, je vais attribuer un
titre à cette application, un certain type, définir un titre à points dans l'exemple de bouton personnalisé
Rundress Maintenant, je vais créer une classe qui va
créer des boutons personnalisés. Pour cela, ici, je
vais définir une autre classe et le
nom de notre classe est custom button. Bouton personnalisé à
l'intérieur des robes rondes, notre classe est en hauteur par rapport à
cette classe, classe de boutons en T. Ensuite, dans cette classe, je vais créer le constructeur. Je tape D dedans, et dans les robes rondes, j'utilise self.
Je vais également transmettre certaines
variables telles que parent, text et command equal to none. Ensuite, dans
le constructeur d'initialisation, nous devons le créer, nous devons faire un super constructeur d'
initialisation Ensuite, au cours des rondes, je vais appeler la variable
parent parent. Au-dessus de cela, je vais
taper un texte égal à du texte. J'assigne cette variable à cette commande d égale à commande. Ainsi, chaque fois que nous
créons le bouton, nous devons transmettre le
texte du bouton, ainsi que la commande du bouton. Ensuite, je vais appliquer un certain style
à ce bouton, comme la couleur d'arrière-plan,
BG, la couleur d'arrière-plan pour
la couleur d'arrière-plan que je vais utiliser dans les tableaux bleu
clair bleu clair. Ensuite, après la couleur de fond, je vais postuler pour Don
Color AG pour une
couleur, comme ici, je vais
utiliser la couleur noire. Ensuite, je vais
appliquer une police sur une police égale à ici à
l'intérieur des seins ronds, je vais utiliser une
police aérienne en pixels et en gras Ensuite, je vais ajouter un peu de
rembourrage à XX, tapez PAD X, dix, coma, pad Y, cinq pixels Je vais configurer ce
fichier. Ensuite, nous devons emballer ce bouton. Tapez donc la méthode Self Dot Pack, et ajoutez également un peu de rembourrage
lorsque j'emballe ce bouton Pad à YxS dix pixels. Je
souhaite envoyer ce fichier. Vous pouvez remarquer que sa
commande est égale à zéro. Par défaut, il n'exécutera aucune commande. Lorsque ci-dessus, nous appuyons sur le bouton, il va exécuter
la commande que nous avons définie. Créons donc un bouton personnalisé. Pour cela, nous devons appeler
le bouton personnalisé de la classe, et nous devons transmettre le paramètre el
car c'est nécessaire. Sinon, ça
ne marchera pas. Objet lui-même, et notre bouton prend ce bonjour,
dites bonjour dans notre option de commande, dépêchez-vous de passer cette fonction, dites bonjour, point automatique, dites bonjour. De la même manière, je vais
définir un autre bouton. Je vais définir
un autre bouton personnalisé puis quitter notre Prap Pour cela, il suffit de taper le bouton personnalisé du nom de
classe. Nous devons le placer dans un self, et notre bouton prend cette
sortie et cette commande Harry, self point quitte cette
méthode, méthode rapide. Maintenant, après avoir défini
les deux boutons personnalisés, nous devons définir la
fonction, dire bonjour. Nous devons définir la fonction
say hello. Pour cela, je
vais taper, Dave, dire bonjour et dans la runrass, vous devez passer
le sl à l'objet lui-même Ensuite, je vais
taper la déclaration d'impression. Dans cette fonction, je vais taper une instruction d'impression. Notre déclaration d'impression
est « Bonjour depuis le bouton
personnalisé » et je
vais définir ce fichier. Et notre fonction rapide SL point
quitte automatiquement l'application. Self représente
l'objet exact. Tu vas tuer
mon application d'application. Prédéfinissez donc ce fichier si j'exécute
ce code dans mon terminal. Comme vous pouvez le voir, cela crée une fenêtre et vous pouvez
voir les boutons. Ces boutons sont des boutons
personnalisés. Nous ne créons pas les
boutons plusieurs fois, juste pour utiliser leur classe. Ici, vous pouvez voir le
style du téléphone, la couleur d'arrière-plan, couleur
de la forge, la taille, le
rembourrage, etc. Il figure déjà dans un
modèle de cette classe, boutons
personnalisés, et nous
l'utilisons deux fois dans cette annonce. Donc, si j'appuie sur « Dis bonjour », maintenant vous pouvez voir dans notre terminal
qu'il affiche Hello Hello
à partir d'un bouton personnalisé. Et si j'appuie sur Exit, ça tue la fenêtre. Cela a tué la fenêtre de mon application. Voici donc comment nous pouvons utiliser les
classes pour la réutilisabilité de l'assistant. J'espère que c'est clair pour toi maintenant. Merci d'avoir regardé cette vidéo. Restez à l'affût pour notre
prochain tutoriel. Dans le prochain tutoriel,
nous allons
créer un champ de saisie personnalisé. Nous allons créer une
entrée et une étiquette ensemble. Merci donc d'
avoir regardé cette vidéo. Restez à l'affût pour notre prochaine édition.
45. Exemple 2 Champ de saisie personnalisé (étiquette + entrée ensemble): C'est bon de vous revoir,
les gars. Encore une fois, je suis de retour avec un autre
tutoriel sur les
high tens et la
réutilisabilité des assistants dans high tens et la
réutilisabilité des assistants Aujourd'hui, dans cet exemple, nous
allons créer un flux d'entrée
personnalisé. Nous allons créer une
étiquette et une inscription ensemble. Parfois, dans les formulaires GI, vous utilisez toujours l'étiquette
et l'entrée par paire. Au lieu d'écrire
la même étiquette et code
d'entrée encore et encore, vous pouvez créer une classe réutilisable
personnalisée. Cette classe va créer l'étiquette et l'entrée ensemble. Alors, sans perdre votre temps, commençons par l'aspect pratique
et voyons comment nous pouvons l'utiliser. Comme vous pouvez le voir, nous sommes dans mon
éditeur de code ist studio et je
crée déjà un modèle de base
en utilisant class, my app Nous devons maintenant créer
l'entrée d'étiquette. Nous devons créer la classe. Je vais définir
une classe ici, je vais taper une entrée de niveau de
classe, et cette classe est
affectée par la classe de cadre tdt Ensuite, dans cette classe, je vais créer
le constructeur. Donc, saisissez-le d'abord
dans les bases rondes, pour passer le soi,
l'objet lui-même, puis ici je vais passer
la partie et le texte de l'étiquette. Chaque fois que nous devons utiliser
la classe d'entrée label
, dans ce cas,
nous devons transmettre l'objet self et
le texte de l'étiquette. Ensuite, dans
le constructeur de l'unité, ici, nous devons utiliser la
super méthode avec parent En gros, il va
hériter du cadre. Le parent hérite
du cadre. Ensuite, dans le constructeur,
nous devons créer une étiquette. Tapez donc l'étiquette à point automatique égale à un couvercle à
cocher et vous devez la
placer dans une fenêtre automatique. De plus, un texte d'étiquette est cette
variable, le texte d'étiquette. Quel que soit le texte que nous
transmettons dans cette classe, il le mettra dans cette étiquette, puis nous définirons ce qui
suit cette étiquette, emballons
également cette étiquette. J'emballe cette étiquette, slptlabel
point PAP et je la place chez PT et j'ajoute un
peu de rembourrage Ensuite, je vais
créer un droit d'inscription. Donc, plongez SeldteEntry égal à TkEntry et Harry l'a mis dans Après cela, nous devons
emballer le champ de saisie. Donc, pour emballer ce champ d'entrée,
nous devons taper Selt Entry Dot Pack Math book Après avoir emballé le champ engy, je vais emballer
l'objet personnel Je veux dire l'ensemble du cadre. Pour cela, je vais
taper la méthode SalptPag, et j'ajoute un petit rembourrage Passons maintenant à
l'application M. Ici, je vais
définir l'objet créé par
la classe d'entrée de niveau. Notre premier
nom d'objet est name field. Donc, tapez el point name field égal à l'entrée de niveau, notre classe.
Ici, nous appelons d'abord notre
classe pour fournir la
variable de cellule où nous allons placer notre champ de saisie de
niveau, qui est l'objet lui-même, puis nous fournissons le nom du texte de
l'étiquette. Ensuite, je vais utiliser à nouveau
la même classe. Et cette fois, je vais
créer un champ périphérique. champ Cellbt H est égal
à l'entrée de l'étiquette, et cette fois je vais
transmettre ce texte Et cette fois, je vais
transmettre ce texte à notre page d'étiquetage et je
vais définir ce fichier. Maintenant, après avoir défini ce fichier et exécuté ce code
dans mon terminal, vous pouvez voir
ici qu'il
crée l'étiquette le champ de saisie. Et comme vous pouvez le voir, ici, nous appelons ce
cours deux fois. L'un est pour le champ de nom
et l'autre pour le champ H. C'est pourquoi il a utilisé l'
étiquette « prière d'entrée ». Maintenant, nous devons créer un bouton. Mais avant de créer le bouton, avant de créer
le bouton d'envoi, nous devons obtenir la valeur
de ce champ de saisie. Pour cela, je vais
définir une fonction. Donc, en dehors du constructeur d'initialisation, en dehors du constructeur d'initialisation, je vais définir une
valeur de porte de fonction Dave gate value, puis
dans cette fonction, puis dans cette fonction, je veux renvoyer la valeur du champ de
saisie type return el point entry
point Gate Method. Quelle que soit la valeur que nous transmettons
dans les champs de saisie, elle obtiendra
la valeur et nous devons la déplacer dans
le niveau d'indentation, sinon elle
passera par un A. C'est bien. Créons maintenant un bouton d'envoi
dans l'application principale. Ici, je vais
définir un bouton de soumission. bouton Soumettre est égal au bouton
tdt et nous
le testons dans une fenêtre automatique Notre bouton
permet de soumettre et il
va commander cette
fonction d'affichage des données Au-dessus de cela, nous
devons emballer ce bouton. Pour emballer ce bouton,
je vais
taper submit sco
button point p method. Nous devons maintenant définir
la fonction qui va imprimer le
nom et la valeur de l'arête. Pour cela, en dehors du
constructeur nit dans le constructeur, je vais définir
la fonction,
Dave affiche les données à l'intérieur
du rond, Dave affiche les données à l'intérieur appuie sur pour
transmettre la cellule, après cela, dans un premier temps, je
veux imprimer le nom Pour imprimer le nom,
nous devons obtenir une
valeur à partir de cette méthode de valeur G, qui est dans notre classe. À partir de la classe d'entrée de niveau, nous devons accéder à la fonction de valeur
G. Donc, pour taper, imprimer, nommer,
ici, nom du point d'aide,
champ, point Gt Val. À partir de la valeur G, nous
allons extraire la valeur du champ de
nom. Comme vous pouvez le voir, nous créons ici l'
objet du champ de nom en utilisant cette classe. Quelle que soit la valeur que nous transmettons
dans le champ de saisie, elle obtiendra la valeur. la même manière, je vais imprimer la fonction
HFil value type print gebfel point getValue,
et elle va obtenir la valeur et elle va obtenir Après avoir défini ce fichier, si j'exécute ce code dans mon
terminal et que je remplis ce champ de saisie,
nommez-en un et 29 ans. Soumettez ensuite ce bouton, vous pouvez voir le résultat
dans mon terminal, nommé H 29. Voici un exemple de champ de saisie
personnalisé. Ici, nous créons ensemble l'étiquette et le champ de
saisie. Nous en créons une classe
et en utilisant cette classe, nous créons au total deux champs de
nom d'objet et Hfeld la même manière, vous pouvez créer autant que vous le
souhaitez. C'est à vous de décider. Il n'est pas nécessaire de saisir le
même code encore et encore. C'est donc l'avantage
d'utiliser la classe. Merci donc d'avoir regardé
cette vidéo,
restez connectés pour notre prochain tutoriel.
46. Conversion Python GUI en EXE: C'est la partie la plus
importante de ce didacticiel car
dans ce didacticiel, nous allons
apprendre à convertir notre fichier Python en fichier X. Imaginez que vous créez une excellente application d'
interface graphique en Python. Peut-être s'agit-il d'une calculatrice, éditeur de
texte ou d'un jeu, et maintenant c'est le gros problème. Comment partagez-vous
le fichier avec d'autres personnes ? Qui ne connaît pas Python et ne l'installe
même pas sur son ordinateur ? Ensuite, comment il peut utiliser l'
application GI que vous créez. Dans ce tutoriel, nous
allons apprendre comment convertir le programme
Python en fichier exécutable à l'
aide
d'un programme d'installation du module Pi. En transformant votre code
en exécutable, votre code devient portable. Également professionnel
et convivial. Tout le monde peut double-cliquer
dessus et exécuter le programme sans
se soucier de la dépendance de l'installation
et de la version de Python. L'utilisateur a besoin de commodité, et aujourd'hui nous allons
apprendre comment nous pouvons l'offrir. Commençons par l'aspect pratique et passons à l'écran de l'
ordinateur. Comme vous pouvez le voir côte à côte, j'ouvre mon Windows Power Shell et mon répertoire
de travail actuel. Et dans mon répertoire
de travail actuel, nous avons un fichier Python, et je
vais convertir ce fichier
Python en Axifle Lors de notre premier clic, nous
devons installer un module. Nous allons utiliser l'installateur
Pi pour convertir ce
fichier Python en fichier EX. Ici, je vais taper
Pep Install Pi Installer. Ensuite, vous devez
appuyer sur le bouton Enter. Comme vous pouvez le constater,
l'exigence est déjà satisfaite car je
télécharge déjà ce module, mais vous devez terminer
le processus de téléchargement. Ensuite, vous devez
utiliser la commande CD. Ici, je vais taper CD, C, D. Ensuite, nous devons
fournir un espace, et je vais copier l'emplacement
exact de ce dossier. Je copie le chemin du dossier. Et ici, je vais
passer le chemin du dossier. Après cela, pour ouvrir le dossier, GI à EXE, il faut
passer quatre barres obliques, et je vais appuyer sur Entrée Nous sommes maintenant dans ce dossier,
ce dossier en particulier, et maintenant je vais convertir ce fichier point Pi principal en
un seul fichier de distribution. Pour cela, ici, je vais taper Pi installer, Pi installer. Pi Installer, Space
Dash Dash et je veux en
faire un seul fichier, un seul fichier. Ensuite, je vais
fournir un espace et nous devons transmettre le beau
nom main point pi. Si j'appuie sur Entrée, il va
le convertir en fichier EX, mais il y a un problème. Le problème est que chaque fois que
nous ouvrons notre fichier EXE, il ouvre le
terminal. Laisse-moi te montrer. Je vais convertir
ce fichier Minded Pi
en un fichier de distribution
Sooty, Enter Comme vous pouvez le voir, le traitement
commence. Et maintenant, vous pouvez voir que dans mon répertoire de travail
actuel, il crée un dossier, dossier
we, un dossier de distribution et un fichier. Cela fonctionne
toujours. Nous devons attendre un certain temps
pour terminer le processus. Laisse-moi te montrer. Enfin,
il complète le processus. Et si j'ouvre
le fichier de distribution avec ce fichier, maintenant vous pouvez voir notre application, nous la
convertissons avec succès en fichier eXFLE Si j'essaie d'ouvrir ce fichier, comme vous pouvez le voir, il s'exécute
directement. Mais le problème est qu'il a ouvert le terminal, mais
je n'en veux pas. Je ne veux pas
ouvrir le terminal lorsque j'exécute ce fichier EXE. Pour résoudre le problème, nous ne devons utiliser aucune commande de console. Permettez-moi de vous montrer, à quelqu'un qui l'
a fait avec cette console,
que je vais également supprimer tous les
fichiers tels que le fichier Wheel, le fichier distribution
et le MinSpaxFle Pour résoudre le problème de console, nous tapons « nous devons
ajouter cette commande ». Par installateur, un seul fichier, alors nous devons taper no console, et aterspace, nous devons passer
notre nom de fichier main point pi Ensuite, je vais appuyer sur Entrée. Appuyez sur Entrée, comme vous pouvez le
voir, cela commence à fonctionner. Nous devons attendre un certain temps
pour terminer le processus. Comme vous pouvez le constater,
terminez le processus. Maintenant, si j'ouvre mon dossier de
distribution et que je clique sur ce fichier EX, comme vous pouvez le voir, maintenant sans
ouvrir la console, cela ouvre directement
l'application. Vous pouvez désormais partager
votre candidature n'importe qui sans hésiter. Désormais, n'importe qui ouvre facilement cette application sans
ouvrir la console. C'est notre
application de liste de tâches et maintenant je veux attribuer une icône à notre
application dans notre fichier EXE. Par défaut, cette icône
est attribuée. Cette icône de fichier. Maintenant, je veux attribuer quelque chose en rapport avec
cette application. Comme vous pouvez le voir, je suis
dans mon navigateur et je recherche
ici un fichier d'
icônes à télécharger. Il fournira
plusieurs sites Web
fournissant des icônes, des fichiers point CO. Ici, je vais ouvrir le
premier site Web, celui-ci. Ensuite, je vais passer
au mode plus section C. Et ici, je vais
chercher un fichier. Je souhaite télécharger l'icône du fichier. À partir de là, vous pouvez
sélectionner n'importe lequel d'entre eux. Au lieu d'utiliser une icône de fichier, vous pouvez utiliser n'importe quelle icône,
telle qu'une calculatrice. Que quelqu'un cherche une calculatrice. Je vais
chercher une calculatrice et je vais télécharger cette
icône sinon cette icône. J'aimerais choisir
celui-ci. Je sélectionne celui-ci. Après avoir sélectionné
celui-ci, je vais
sélectionner Pity et je
veux sélectionner l'icône. Ensuite, je vais
sélectionner la résolution. Et n'oubliez pas que vous devez
sélectionner le niveau le plus bas possible. Je vais utiliser celui-ci de
132 pixels sur 32 pixels, celui-ci, et je vais
cliquer sur le bouton Télécharger l'ICO. Téléchargez ICO. Votre fichier
sera automatiquement
téléchargé dans le dossier
de téléchargement. Si j'ouvre ce dossier ici, vous pouvez voir l'icône. Je
vais couper cette icône de ce dossier et la
mettre dans mon
répertoire de travail actuel, celui-ci. Je vais également
renommer cette icône. Je vais y
arriver. Je vais l' appeler app A, double P.
Maintenant, si je vous montre l'
extension de ce fichier,
vous pouvez voir qu'il s'agit d'un fichier CO
app.co et c' est ce dont nous avons besoin Je vais maintenant exécuter
la commande Bash, qui va assigner l'
icône à notre fichier EX Dans un premier temps, nous devons ouvrir le répertoire de travail actuel
dans mon Windows Powershell Vous pouvez le faire par commande cd, mais ici je vais faire l'éloge commande
expédiée,
puis dans le dossier, je vais faire l'éloge de right kick et ici vous pouvez voir une option pour ouvrir une
fenêtre Powershell ici Si je clique dessus, il
va directement
ouvrir directement
ouvrir le Windows Power
Sell dans ce dossier, puis je vais
taper mon code. Maintenant, nous devons taper la commande
Bash qui va
convertir le fichier Python en A Ex Je vais également attribuer cette
icône à cette application. Pour cela, nous devons
taper ici Pi installer, Pi installer. Après avoir tapé le programme d'installation de Pi ,
nous devons fournir, nous devons définir que je veux en
faire un fichier, un fichier. Après cela, je ne veux pas ouvrir la console, alors je tape dash
dash, no console. Ensuite, je vais
taper dash, je vais attribuer l'icône pour attribuer l'icône, taper icône, icône égale à icône égale à l' application ou nom de l'icône app point
Cofile puis enfin, nous devons transmettre le fichier Python,
notre nom de fichier Python
est point principal Pi Après cela, si je clique sur Anchor, comme vous pouvez le voir,
cela commence à fonctionner. Et nous devons
attendre un certain temps
pour terminer le processus. Comme vous pouvez le constater, le processus est
terminé avec succès. Maintenant, si j'ouvre mon
dossier de distribution et que vous pouvez voir dans notre application
dans notre application EXE, l'icône a été attribuée. Maintenant, notre application semble
beaucoup plus authentique que précédente car nous
attribuons ici une icône à cette application. Maintenant, si je clique sur cette
application, comme vous pouvez le voir, elle n'ouvre aucune
console et ouvre
directement notre liste de tâches d'
application. Dans ce tutoriel, j'
essaie simplement de vous montrer comment nous pouvons attribuer une icône dans notre application. Nous apprenons ici comment attribuer une
icône à notre application.
47. Projet 1 : Application de to-do list: Bienvenue donc sur notre premier
projet lié à l'interface graphique Kin tart. Et aujourd'hui, dans ce
projet, nous
allons créer une liste de choses à faire,
une simple liste de choses à faire Voyons donc la démonstration de la façon dont nos Tudlis vont fonctionner Comme vous pouvez le voir, ici j'ai
ouvert mon application, et voici à quoi ressemble notre
application. Nous avons d'abord un champ de saisie, puis nous avons un bouton Tâche, puis un bouton Supprimer la tâche. Ensuite, pour afficher l'
élément de liste, nous avons une zone de liste. Et dans cette zone de liste, nous allons afficher
tous les éléments de la liste un par un. Dans cette zone de liste, nous
pouvons ajouter les éléments de la liste. Nous pouvons également supprimer
les éléments de la liste à l'aide de ce bouton. Dans un premier temps, je vais
ajouter un élément de liste. La première tâche que je vais
ajouter à cette liste est le nettoyage. Donc, si je tape « nettoyage » et que je
clique sur le bouton Tusk, comme vous pouvez le voir,
la tâche est ajoutée à notre liste De la même manière, je vais
ajouter deux autres tâches. Après le nettoyage, je
vais ajouter du linge. Donc, pour taper, je vais
ajouter la tâche dans
notre liste ToDoList. Ensuite, dans ma liste Todo, je vais ajouter les
courses, et je vais appuyer sur le bouton
Tusk pour
ajouter la tâche à notre Maintenant, dans notre liste Turo, nous ajoutons trois articles au total Maintenant, si vous
voulez supprimer l'un des articles de cette liste d'épicerie, je vais supprimer le linge. Je sélectionne le linge et j'appuie
sur le bouton Supprimer la tâche. Après avoir appuyé sur Supprimer la
tâche, comme vous pouvez le voir, l'élément a été supprimé
de la zone de liste. C'est un projet très simple
et idéal pour démarrer le développement d'une interface graphique
avec Python Kinder Ici, nous allons
apprendre comment extraire des données dans le champ de saisie, comment traiter les données, comment nous pouvons supprimer les données, comment nous pouvons afficher les données dans
notre boîte de décalage, etc. Sans perdre votre temps,
passons à l'aspect pratique. Comme vous pouvez le voir, nous sommes dans éditeur de code de
mon studio Visa et je crée un
fichier Python main point pi. Dans un premier temps, je vais
importer le module TK, tapez Import Kinar en tant que TK Ensuite, je vais
importer un autre module. Nous devons importer des boîtes de
masse depuis Kiner. Pour cela, je vais taper à
partir de la zone Kiner import Masses. Ensuite,
je vais créer
la fenêtre principale. Je tape root égal
à la classe Tik point T. Maintenez la touche Créez un objet en
utilisant la classe Tk pour créer
la fenêtre principale. Ensuite, je vais ajouter un titre. Je tape donc le
titre root point to do list. De plus, je vais
définir la géométrie, et je vais définir la géométrie du
point racine 400 x 400. C'est une boîte carrée. Ensuite,
je vais créer une entrée. Ce qui va prendre en compte
les informations de l'utilisateur. Pour cela, je vais
définir une entrée variable, entrée égale à entrée pot. À l'intérieur de la presse ronde, nous la plaçons dans une fenêtre racine. Ensuite, nous avons défini avec 30 pixels. Après cela, nous devons
emballer ce champ de saisie. Je tape donc entry Doc back method, et ici j'ajoute un peu de rembourrage à YxS et j'attribue un rembourrage de
dix pixels Après cela, nous
devons définir deux boutons. Tout d'abord pour définir le bouton Ajouter ,
puis pour définir
le bouton Supprimer. Je vais définir une
variable appelée bouton d'ajout. Ajouter un bouton égal
à un bouton à points. Ici, j'utilise la vitre
à boutons du module TK. Ensuite, dans de tels tours, nous plaçons le bouton
dans une fenêtre racine et notre bouton prend Ts et
notre bouton prend es add tusk. Nous définissons et ici nous définissons W
pour ce bouton, 15 pixels Ensuite, nous devons
emballer ce bouton. Tie add button point PAC MTO, je vais ajouter un coussin de
rembourrage sur De la même manière, je vais
définir un autre bouton. Ici, je vais
définir le bouton de suppression. Donc, pour taper, supprimer un bouton de
soulignement égal à Button Glass, nous le plaçons dans une fenêtre racine et notre bouton prend
cette tâche de suppression, et nous lui attribuons 15
pixels Ensuite, j'emballe ce
bouton, donc je tape, supprime le bouton point, méthode PAC. Pack Dans le processus du tour, je vais ajouter un
pad, Y, cinq pixels. Je vais définir
ce fichier et pour afficher l'
élément de liste dans une liste de visites, nous devons créer une zone de liste. Je vais définir une autre
variable avec moins de cases. List box égale à hear, nous devons utiliser la méthode List box. Je tape TDT List box. Nous le plaçons ici dans une fenêtre racine et nous définissons la largeur
50 et la hauteur 15, notre mode de sélection
est Tick Dot Singer. N'oubliez pas que le mode de sélection permet de sélectionner
une seule tâche à la fois. Vous ne pouvez sélectionner qu'une seule tâche à la fois dans la case minimale. Après cela, je vais
emballer cette liste. Type I, méthode East Box
Dot Pack. Chemin à l'intérieur des robes rondes, je vais
ajouter une paire de Pat dix pixels de
x et je vais définir cela
après avoir défini ce fichier, je vais ajouter la boucle principale car nous n'
ajoutons pas la boucle principale Sans la boucle principale,
ça ne marchera pas. C'est une boucle d'événements Kiner. Je tape root point main loop, et je vais définir ce fichier. Fondamentalement, cette boucle
maintient la fenêtre ouverte et réactive jusqu'à ce que
l'utilisateur la ferme. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, voici à quoi ressemblera notre
liste Turo Nous avions le champ de saisie dans lequel nous allons placer notre tâche. Nous avons le bouton Atax et le bouton
Supprimer la tâche. Maintenant, si j'essaie de
faire des
devoirs et d'ajouter
la tâche à cette liste,
cela ne marchera pas car
nous ne créons pas la
fonction pour ces devoirs et d'ajouter
la tâche à cette liste, cela ne marchera pas car boutons. Nous devons créer une fonction
pour le bouton Sur la tâche, indiquer
également la fonction
pour le bouton Supprimer la tâche. Découvrons les fonctions. Je traverse mon terminal
et je reviens au code. Dans un premier temps, je vais définir une
fonction appelée at task. Je tape DF à la tâche. Ensuite, dans cette
fonction,
nous devons d'abord obtenir la valeur
de ce champ de saisie. Je souhaite configurer ce flux d'entrée. Quel que soit le type d'utilisateur dans ce champ de saisie, nous
devons l'obtenir. Pour cela, je vais définir une variable et notre
variable m est task, donc égale à la méthode Gate par
point d'entrée. En utilisant cette méthode, nous
pouvons obtenir la valeur. Nous devons maintenant définir
une condition IP. Tâche HNotyeTask EP, différente de la
valeur vide. Ensuite, dans cette condition IP, je souhaite mettre des données
dans cette zone de liste. Pour cela, nous devons
utiliser la méthode d'insertion. Tapez donc list box dot insert. Si notre interférence n'est pas
vide, dans ce cas, elle ajoutera l'
élément de liste à cette zone de liste. Comme vous pouvez le voir, à l'intérieur, nous utilisons au total deux
paramètres t point. Grâce à cela, nous pouvons ajouter l'
élément en fin de liste. Donc, quoi que nous
adoptions, cela ajoutera
la fin de la liste. Donc, s'il y a
des données existantes dans notre zone de liste, les
nouvelles données seront ajoutées à la fin de la liste. Ensuite, nous passons la tâche, la tâche exacte que nous obtenons
du champ de saisie. Maintenant, une fois que j'ai ajouté la
tâche avec succès, nous devons effacer l'entfelt. Pour cela, nous devons
supprimer la méthode. Donc, veuillez supprimer le point d'entrée, et je vais tout
supprimer. Je passe donc du point 02p. Ensuite, et gérez également le ou. Dans nos parties s de notre bloc Le, je veux afficher pour un message. Donc, à partir de la boîte de
message, de la boîte de message, je
veux afficher l'avertissement. Afficher l'avertissement à
l'intérieur des presses rondes, à l'intérieur des ports doubles, je vais taper un avertissement. Ensuite, une virgule ou un
nom de fenêtre est
un avertissement, puis une virgule et là, je vais taper
, saisir une tâche, et je vais définir ce fichier Maintenant, après avoir créé la fonction de tâche
adt, nous devons appeler la fonction
dans notre bouton en utilisant le paramètre de
commande.
Laisse-moi te montrer. Dans notre bouton publicitaire
ici, après la virgule, je vais taper commande,
commande, et je vais passer
le nom de la fonction à la tâche Je vais configurer ce
fichier. Après avoir défini ce fichier, si j'exécute ce code dans mon
terminal et que j'essaie d'ajouter une tâche, supposons des devoirs, des devoirs
et que j'appuie sur le bouton Tâche, comme vous pouvez le voir, cela ajoute
la tâche dans notre zone de liste. En outre, il a effacé
le champ de saisie. De la même manière, je vais
ajouter une autre tâche. Ensuite, je vais ajouter
une autre tâche,
comme manger d'abord des freins sains. Ensuite, je vais ajouter la
tâche à notre liste de tâches. Après avoir appuyé sur le bouton
Ajouter sur le bouton Tâche, il est ajouté à notre liste de tâches. Maintenant, je veux supprimer l'une des tâches
de cette tâche pour faire le moins possible. Après avoir sélectionné la tâche dans la liste déroulante, je souhaite la supprimer. Si j'appuie sur le bouton Supprimer,
cela ne le supprimera pas. Nous devons créer une
fonction qui supprimera l'élément de la liste. Définissons une autre
fonction, supprimez la tâche. Donc, en dessous de la méthode at task, je vais taper
Dave delete task. Ensuite, dans cette méthode de
suppression de tâches je vais utiliser
try and ext block. Essayez de gérer parfaitement l'
erreur. Essayez dans le bloc Try. Ici, je vais définir une
variable appelée tâche sélectionnée, tâche sélectionnée égale à
listbox point car selection La méthode de sélection des voitures, écrite sous la forme d'une liste d'index
sélectionnés Si vous souhaitez sélectionner plusieurs
articles à l'avance, oui, vous le pouvez. Cela va en créer
une copie, puis nous devons le supprimer Ici, je vais taper
listbox point Delete method, et à l'intérieur de celle-ci, je vais
transmettre le tuple de tâches sélectionné Et si vous ne sélectionnez
rien sur lequel vous appuyez, mais que vous appuyez sur le bouton de suppression, dans ce cas, nous devons
afficher un message d'erreur. Donc, dans notre bloc d'
exception, sauf à l'intérieur de ce bloc, je souhaite afficher un message
d'avertissement. Parfois, la boîte de message
n'affiche pas d'avertissement. Et notre fenêtre est un avertissement
et notre message d'avertissement est, veuillez sélectionner une tâche à supprimer Je vais configurer ce fichier.
Maintenant, après avoir créé la méthode, supprimer la tâche, nous devons appeler la méthode dans notre
bouton, bouton Supprimer. Je copie le nom de la méthode, et ici, je vais
utiliser le paramètre de commande. À la virgule, je vais taper
commande, option de commande. Commande égale à notre
fonction delete task, et je vais la satisfaire. Maintenant, pour m'en assurer, je vais
exécuter ce code dans mon terminal, et voici notre liste de choses à faire. Dans un premier temps, je vais
ajouter une tâche à cette liste d'outils. Notre première tâche est de vous
réveiller et de faire votre lit. J'ajoute la tâche à
cette liste de tâches,
et comme vous pouvez le voir, mettre à jour les éloges sur le bouton, cela efface notre interfiel Maintenant, notre champ intermédiaire est que si je fais à nouveau l'éloge du bouton Tâche, vous pouvez voir
ici un message
d'avertissement Entrez une tâche. Nous ne pouvons donc pas le laisser dans le noir. Ensuite, je vais
ajouter une autre tâche, EKLD breakfast, et je
vais ajouter la tâche Ensuite, je souhaite
supprimer l'une des
tâches de cette liste, comme se réveiller
et faire son lit. Après avoir sélectionné la
tâche, si je clique sur le bouton
Supprimer la tâche, comme vous pouvez le voir, supprimez la
tâche de la liste des tâches. J'espère que vous
comprenez maintenant
comment créer une liste
de tâches de base. C'est notre premier exercice, je le simplifie
donc très simplement. Dans nos prochains tutoriels, nous allons faire
beaucoup de choses. Merci d'avoir visionné ce
programme de vidéos pour notre prochain tutoriel
48. Enregistrer définitivement les données avec JSON: Il s'agit donc de la deuxième partie et de la partie
avancée de ce didacticiel. Et dans cette section, nous allons apprendre
comment enregistrer données de notre
liste de tuteurs de façon permanente à l'
aide de JSM car vous pouvez voir Hero ouvrir
mon application précédente,
et notre application, ne pas
enregistrer les données Si j'ajoute les données dans notre liste, si je supprime l'application, sinon je la tue, et si je réexécute mon
application,
maintenant notre application
devient un œuf vide, nous devons enregistrer les données Nous devons enregistrer les données de
façon permanente dans notre zone de liste. Maintenant, je vais vous montrer
une autre application. Il s'agit de la version mise à jour
de cette application dans laquelle nous sauvegardons les données façon permanente avec
l'aide de Jason. Notation d'objets JavaScript. Maintenant, si je tue cette
application, sinon, supprimez le terminal, sinon supprimez le terminal,
puis réexécutez ce code. Permettez-moi de vous montrer que, comme vous pouvez le voir, nous avons
toujours les
données dans notre liste. Je ne supprime pas définitivement les
données. C'est ce que nous allons
construire aujourd'hui dans ce projet. En gros, nous
allons mettre à jour notre projet existant,
commençons. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de mon
studio utilisateur et j'ai ouvert mon précédent fichier
Python main point Pi. Dans ce fichier, nous
créons ToDoList à l'aide Kiner et nous devons maintenant
enregistrer définitivement notre valeur
ToDoList Pour cela, nous allons utiliser la notation d'objet JavaScript
JSN Maintenant, je
vais d'abord importer JSN. Ici, je vais
taper import JSN. Après cela, je vais
importer le module OS, donc je vais taper import Os. Pour enregistrer et charger la tâche, nous allons utiliser JSNFV Je vais créer un
JSNFive avec JSNetExtension. Dans mon répertoire de travail actuel, je vais taper task point JSON. Pour l'instant, il est complètement vide. Après cela, je vais charger
ce fichier JSNFle dans une variable. Pour cela, je vais
définir une variable
et/ou notre variable est un fichier de données, un fichier soulignement de
données
égal au point de tâche JSON Nous devons maintenant créer un
total de deux fonctions pour enregistrer les données JSN et
charger les données Jasn. Dans un premier temps, je vais
créer comment enregistrer les données JSN dans notre boîte la plus petite. Je tiens à dire que nous devons enregistrer la tâche
actuelle de la zone de liste dans JSNFive Pour cela, je vais
définir une fonction. Ici, je vais
définir une fonction et nom de
notre fonction
est Dave save task. Ensuite, dans
cette fonction, je vais récupérer
tous les objets de la A dans la case est sous forme de ruban. Pour cela, je vais définir une variable et le nom de notre
variable est task, task égale à as box
point gate method. Ensuite, à l'intérieur des rondelles, nous sélectionnons
ici tous les éléments de
la liste, tous les éléments les moins encadrés Ensuite, nous devons ouvrir ce fichier JSNFle que j'ai
stocké dans un fichier de données Pour cela, je vais
utiliser la méthode ouverte. W ouvre à l'intérieur des roulettes
Je vais transmettre le
fichier de données, et je veux l'
ouvrir en mode écriture Mode, tapez W car je vais créer un
pointeur de fichier qui est un singe. Ensuite, dans ce fichier, je souhaite utiliser la méthode DAP Je suis de type JEnt Dung. Ensuite, dans les versets d'exécution, je vais fournir la tâche, et je veux écrire la tâche
dans notre pointeur de fichier A, A, puis apacma, je vais
taper Indian Indian Four Maintenant, la question est de savoir
pourquoi nous utilisons IndianTF ? Indien égal à
quatre. Parce que lors enregistrement de données dans un fichier JSN, Python peut
tout écrire sur une seule ligne C'est très difficile à lire. Donc, pour en faire un format
lisible par l'homme, nous utilisons Indiant Four Il indique
à Python de formater le JSN avec une indentation de
quatre espaces par étiquette. C'est à vous de décider si vous
pouvez l'utiliser ou non. Mais si vous l'utilisez, vous pouvez facilement
lire les données à
partir du fichier JSNFle Ainsi, après avoir obtenu la
valeur de la moindre case, nous l'enregistrons dans un fichier JSNFle Je vais maintenant
appeler cette fonction. Je copie donc le nom de la
fonction Saffle, et je vais l'appeler
lorsque j'utiliserai AdTask Après cela, je vais
appeler cette méthode, Enregistrer la tâche. Et je
vais configurer ce fichier. Ainsi, chaque fois que nous appuyons sur le bouton
Ajouter, ce bouton, le bouton
Ajouter, la
commande passe à la méthode de la tâche, cette fonction, à la tâche. Et comme vous pouvez le voir dans
notre méthode de tâche at, comment nous appelons la méthode de tâche sep. Et cette méthode va définir
les données dans ce fichier Jason. Alors faisons grève. Mais avant exécuter ce code dans mon terminal, je vais vous montrer
le fichier GSN à points Tas Pour l'instant, comme vous pouvez le constater,
il s'agit d'un fichier vide. Maintenant, exécutons le code. Et ici, je vais
ajouter une tâche. Notre tâche consiste donc à faire nos devoirs. Je vais appuyer sur le bouton
Tâche. Après avoir appuyé sur le bouton,
comme vous pouvez le voir, la tâche
est ajoutée dans ma zone de liste. Maintenant, si je vous montre
mon TSDTJSNFle, laissez-moi vous montrer alors je
vais fermer Je ferme cette fenêtre et je
ferme ce programme. Maintenant, si je reviens
au point de tâche JSNFle, vous pouvez voir le résultat
ici Il enregistre les données dans
nos devoirs JSNFle. Maintenant, si je passe à mon code
et que je le réexécute, vous ne pouvez rien voir ici parce que nous
venons de définir le fichier Nous ne chargeons pas à nouveau le fichier
dans notre zone de liste. Nous devons maintenant créer
une autre fonction qui chargera à nouveau le fichier
dans notre zone de liste. Revenons-en au
code. Je vais maintenant définir une autre fonction
appelée Load task, type
Sumar, Dave, load
task à l'intérieur de la fonction cette fonction, si
le chemin du fichier existe, je veux dire si les fichiers JSON existent dans notre type de répertoire, si s point p point existe, fichier de
données, alors dans
cette condition IP, je veux ouvrir ce
fichier pour ouvrir ce fichier, ici je tape avec ouvrir avec ouvert, puis dans les presses rondes, ici j'ouvre le fichier de données
et j'ouvre ce fichier en mode
lecture car AF est un fichier pointeur. Ensuite, dans le capot ouvert de Math, puis dans ce fichier, je
veux utiliser le blog try and except. Essayez-le et essayez dans le trib doc help de définir
une variable appelée task Tâche égale à, je souhaite charger la tâche Soong type
Json ad method Chargez, dans le cadre du processus circulaire, je vais passer
le pointeur de fichier F. Ensuite, je vais
exécuter une tâche de suivi pour messagerie instantanée pour la tâche d'itération
dans cette boucle d'automne, puis je veux insérer l'
élément dans la case la plus petite Tapez donc en tant que boîte, en tant que
méthode d'insertion de points Box. Insérer. Ensuite, à l'intérieur
des bus ronds, je veux ajouter le moins d'
éléments à la fin de la liste. Je tape P point Mathub coma
et je souhaite ajouter l'article. Comme vous pouvez le voir, elle a
saisi une mauvaise orthographe, pas dans l'élément TM items. Je
vais configurer ce fichier. Ensuite, dans ce bloc tri, je vais d'
abord
charger le fichier JSNFle Pour cela, je vais définir
une variable appelée tâche,
tâche égale à la méthode de chargement JSON. Charger. Dans le Rundbas, je
vais transmettre le fichier A. Ensuite, je vais
exécuter une boucle à quatre boucles, un type pour
une tâche,
une tâche Ensuite, à l'intérieur de ces quatre boucles, je veux insérer la tâche. Je souhaite insérer la
tâche dans la zone de liste. Pour cela, je vais taper la méthode d'insertion de points dans la zone de
liste. Insérer. À l'
intérieur des accolades, je vais taper TK point d. Je veux ajouter la
fin de la tâche dans cette zone de liste, puis je vais
transmettre la tâche elle-même Après avoir ouvert le fichier, il
va essayer ce code. Après cela, après cela, dans notre condition d'exception, sauf erreur de décodeur
Jason point Jason, puis dans ce bloc, je veux taper pass Maintenant, la question est de savoir quand est-ce qu'il
va lancer une flèche ? Lorsque notre fichier est
complètement vide, il
lance une flèche. Quand il va générer une erreur, je la tape pass, cela signifie qu'il ne
va pas générer de message d'
erreur, vais
juste sauter cette partie. Je tape un seul dossier vide en
commentaire, et je vais définir ce fichier. Maintenant, je vais appeler
la fonction load task, copier le
nom de la fonction load task, et je vais l'appeler avant la boucle principale à cette position. Nous devons donc appeler la fonction Set task dans notre méthode de suppression, méthode de
suppression de tâche. Donc, après avoir supprimé la tâche,
nous devons également définir la tâche dans notre fichier SN. Je vais
configurer ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, vous pouvez
maintenant voir après avoir exécuté
ce code dans notre terminal, maintenant vous pouvez voir comment il entraîne la tâche existante
à partir du fichier GSN Si j'ajoute une nouvelle tâche, supposons de la musique, que j'ajoute la
tâche et que je ferme l'application, après avoir fermé l'application,
si je réexécute ce code, vous pouvez
maintenant remarquer qu'il ne
supprime pas définitivement notre tâche Je ne supprime pas définitivement notre
tâche. J'enregistre toutes les tâches dans un fichier
JSN dans ce fichier. Avec l'aide de JSN, nous
sommes aidés avec succès à enregistrer les données pour notre radiation J'espère que c'est maintenant clair pour vous, merci d'avoir regardé
cette vidéo,
restez connectés pour notre prochain projet.
49. Projet 2 : Calculatrice simple: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un nouveau projet, et aujourd'hui, dans ce projet, nous allons créer une calculatrice GI
simple avec Kiner qui effectue des opérations arithmétiques
de base
telles que l'addition, la
soustraction, la multiplication Comme vous pouvez le voir, nous avons des boutons
numériques de 0 à 9, puis nous avons une option claire, évaluez
également avec une expression Testons le calculateur. Cela fonctionne-t-il correctement ou non ? Je vais taper trois, deux, et je vais
multiplier par 52. Et si je loue égal à sinus, comme vous pouvez le voir, le résultat est
écrit. Sur ce, je veux -356. Ensuite, si je loue la valeur égale à
sinus, le résultat est écrit. Et si je le divise par trois, puis appuyez sur égal pour voir le résultat
écrit. Maintenant, si vous voulez
effacer le champ de saisie, vous
suffit de faire l'éloge ce bouton et il effacera
le champ de saisie. C'est un calculateur de symboles de base. Voyons comment créer
ce calculateur de symboles. Commençons le
codage. Enfin, nous sommes dans mon éditeur de code Visual
Studio. Dans un premier temps, je vais
importer le module Kiner. Ici, je vais
importer Kiner en tant que TK. Après cela, je vais
définir je vais
définir la fenêtre racine. Je vais taper root
égal à t point Tlass. Ensuite, je vais
définir le titre. Je lie le titre à la racine et
c'est une simple calculatrice. Enfin, je vais définir
la géométrie. Tapez donc la
géométrie du point racine, 300 x 400. Enfin, je vais
démarrer la boucle principale, la boucle principale
root point. Maintenant, dans un premier temps, je vais
définir une chaîne vide. Tapez donc des expressions égales
à une chaîne vide. Cette chaîne vide va
contenir les expressions mathématiques, puis je vais créer une variable d'entrée pour stocker
la valeur du champ de saisie. Donc, attachez le trait de
soulignement EntryWaEntry, où,
entryware égal à TK, point, chaîne, variable, fil de chaîne Ensuite, je vais
créer un champ de saisie. Tapez donc notre entrée de variable
égale à la méthode d'
entrée t, à la classe d'entrée
tit, et nous la plaçons dans une
fenêtre racine et nous
attribuons ici une variable de texte
égale à l'entrée, nous définissons la zone de police et la taille de
police à 20, ici nous alignons notre
texte sur le côté droit Je tape « justifier correctement ». Justifiez correctement, alignez
le texte vers la droite, comme avec une calculatrice normale. Ensuite, nous devons
emballer ce champ de saisie. Je vais taper
Entry Dot Pack, me sentir sur un pied d'égalité avec les deux et Hero utilise un rembourrage interne en direction
des SS,
Ipadx puis nous utilisons Maintenant, pour les boutons de la calculatrice, nous devons prendre un, nous devons
prendre un cadre de boutons. Ici, je vais taper un cadre de
bouton égal à un cadre à points à cocher et nous
plaçons le cadre dans une fenêtre racine, puis j'emballe cette variable de cadre de
bouton. Maintenant, à l'intérieur de ce cadre de boutons, nous allons mettre
tous les boutons. Par exemple 0-9, bouton homologue, sinusoïdal
égal à deux plus le signe de multiplication
sinusoïdal divisé , etc., pour
définir les boutons, ici, je vais
utiliser une liste imbriquée Je vais définir
un bouton variable. Ensuite, à l'intérieur du carré, je vais utiliser les valeurs des boutons
imbriqués Dans notre première ligne,
nous imprimons sept, huit, neuf et un sinus divisé. Ensuite, après la virgule, je vais
passer une autre valeur imbriquée. Je souhaite transmettre une autre valeur de liste
imbriquée. Ici, je vais mettre 456
étoiles et à la ligne suivante, je vais taper
un, deux, trois et moins sinus. Dans notre dernière ligne, je vais taper dans cette liste, je vais passer zéro
voiture égal à plus sinus. Il s'agit d'une structure de
calcul de base. Il s'agit essentiellement d'une liste imbriquée qui définit la disposition
des boutons ligne par ligne Maintenant, en utilisant cette liste, nous devons créer les
boutons de manière dynamique. Pour cela, je vais utiliser un suiveur. Laissez-moi vous montrer comment faire. Ici, je vais attacher
chaque ligne en boutons, puis à l'intérieur de la boucle d'automne, puis créer un
nouveau cadre pour les lignes. Ici, je vais attacher le cadre, cadre égal à la classe de cadre à
points du ticket, et à l'intérieur, je vais
passer le cadre à boutons. Ici, nous avons placé notre nouveau cadre
à l'intérieur du cadre à boutons. Ensuite, nous emballerons ce cadre. Donc, pour lier le paquet de points du cadre, étendez-le de manière égale à
travers et remplissez les deux. Étalez et remplissez les deux, assurez-vous qu'ils s'étirent bien. Ensuite, nous devons examiner
chacun des éléments de la liste. À l'intérieur de la liste, nous
avons la ligne Op list. Et dans cette rangée, nous avons plusieurs éléments de liste. Nous devons donc examiner
chacun des éléments de la liste. Pour cela, encore une fois, je
vais utiliser quatre boucles. Je vais donc taper dans ces quatre boucles pour les
boutons d'affilée,
puis dans cette boucle pliante, puis je veux
créer les boutons À l'aide de ce suivi,
nous ciblons chacun
des caractères et nous le
stockons dans une variable de bouton. Ensuite, B est égal
aux boutons Tk Dot et nous
le plaçons dans une fenêtre cadre, et notre bouton prend exactement
ce bouton. Et notre police est
aérienne, la taille de police est de 18 et le relief est surélevé. Physiquement, cela donne
un style de bordure en relief. Ensuite, nous avons dit « avec » et « hauteur ». Ensuite, je vais
emballer ce bouton. Je vais donc lier la méthode du pack de points B et nous définirons le côté t. De plus, expand est vrai et fill est les deux. Ensuite, je vais attacher tout ce bouton avec
la méthode de liaison. Pour cela, je vais
taper B got bind method. Ensuite, à l'intérieur des robes rondes et d'abord à l'intérieur de la robe
ronde, nous utilisons le bouton un événement Cela signifie le coup de pied du bouton gauche de
la souris. Et une troisième fois,
appuyez avec le bouton gauche de la souris sur les boutons pour appeler cette
fonction méthode de clic. Nous devons définir
la fonction, Kick. Je vais donc
définir la variable. Donc, après avoir importé le module. Ici, je vais
définir la fonction. Dave, clique sur l'événement
de déshabillage. Pour l'instant,
je vais taper pass, et je vais
définir ce fichier. Après avoir défini ce fichier, si j'exécute
ce code dans mon terminal, maintenant, notre structure
ressemble à ça. C'est une belle calculatrice, structure de calculatrice
simple,
et c'est ce que nous voulons. Maintenant, nous devons gérer la fonction de gestion
d'événements, cliquez sur. Dans un premier temps, nous devons obtenir
la valeur exacte du bouton. Pour cela, je vais
définir un texte variable. Texte égal au point Event
Wizard Cgate À l'intérieur de la boucle,
nous définissons le Nous voulons obtenir la valeur du texte. À partir de l'événement en question, supposons que si l'utilisateur en fait l'éloge, alors à partir de cet événement, nous allons extraire
la valeur de l'assistant en utilisant Cgate, ici nous allons
extraire la valeur du texte de l'étiquette Un texte à un niveau est donc un. Nous obtenons donc la valeur et la
stockons dans cette variable. En gros, nous extrayons
la valeur du bouton. même, si nous
louons le signe plus, il
obtiendra la valeur positive
et la définira dans cette variable. Maintenant, souvenez-vous de cette expression
variable, c'est une variable globale
et c'est un flux vide. Nous devons
l'utiliser dans la fonction. Pour cela, nous
devons le rendre mondial. Sinon, notre fonction considère
qu'il s'agit d'une variable locale. Donc ici, je vais
taper global et notre
variable am est expression. Nous en faisons une variable globale. Cette variable va stocker l'expression mathématique
que l'utilisateur est en train de créer. Supposons deux plus quatre, 2/1, quelque chose comme ça Je vais maintenant
définir une condition IP. Je veux dire que cs one tape A un texte égal à égal à
l'intérieur des codes doubles, si nous faisons l'éloge
du sinus égal dans la calculatrice, alors dans cette condition IP, je vais passer
au tri bloc TRY try. Si l'utilisateur loue un sinus égal, supposons que l'utilisateur tape deux plus
trois multiplié par quatre. Ensuite, l'utilisateur appuie sur le signe égal. Nous devons maintenant évaluer cette expression, l'expression sous forme de
chaîne. Pour cela, nous devons utiliser
une méthode appelée Eval, et je vais la stocker
dans une variable, sous-type result,
result égal à, et ici je vais utiliser la fonction
Eval, yE val. Ensuite, dans les adresses rondes, je vais passer l'
expression, cette variable. Nous passons donc ici l'expression
exacte
que nous tapons dans la calculatrice. Supposons que deux plus trois
se multiplient par cinq, l'expression exacte,
et je vais
traiter cette expression
avec la méthode El. Il va calculer
l'expression, puis après avoir calculé
cette expression, je veux convertir cette
expression en flux. Je vais donc utiliser la méthode des
larmes, THTR. Ensuite, je vais le
mettre dans un cycle d'étude ss. Après avoir calculé la valeur, encore une fois, nous en faisons un flux. Ensuite,
dans le champ de saisie de notre variable d'entrée, je vais définir la valeur. Pour cela, je vais
taper entry point set method, et je vais définir le résultat,
puis encore une fois, nous devons stocker
à nouveau,
vous devez stocker la valeur de
cette expression pour que
nous puissions la recalculer Donc, quelqu'un tape une expression
égale au résultat. Je suppose que dans notre
expression nous
réussissons, nous passons deux plus deux plus quatre, notre résultat devient huit. Maintenant, il va imprimer les
huit dans notre champ de saisie. Et encore une fois, cela va
dépasser le chiffre huit dans notre expression pour que nous puissions utiliser ce nombre pour
d'autres calculs. Supposons qu'avec huit,
je veuille en ajouter cinq. Si nous tapons le signe plus et
appuyons sur cinq, puis de nouveau, si nous appuyons sur le signe égal, huit plus cinq deviennent 13. Nous devons également
gérer l'exception. Pour cela, je vais taper
except exception en tant que E
dans le bloc except. S'il n'y a pas de problème, je veux imprimer l'erreur, saisir l'erreur de jeu de points et
notre exception devient vide. Ensuite, je veux que
notre expression expression
vide soit égale au noir et je vais
définir ce cinq. Ensuite, pour ce qui est de l'état de nos lèvres, je vais définir
un autre cas : un texte égal à C, je veux dire clair, puis à l'intérieur de
cet état des lèvres, puis je veux effacer
l'expression, expression égale au noir. De plus, je vais définir une
valeur d'entrée, une entrée de type. Entrez un ensemble de points Méthode, Set, je vais le
rendre à nouveau vide. De plus, dans notre sp, maintenant dans le sp, nous devons mettre à jour l'
affichage des entrées avec une nouvelle expression. Nous devons également ajouter le texte
du bouton à la chaîne
d'expression Pour cela, je vais taper expression
plus plus égal
à grement avec du texte, variable de texte ici, je vais
dire entrée EntryWare,
underscoware, méthode d'ensemble de
points d'entrée , S Je veux définir l'expression. C'est ça. Maintenant, pour tous les boutons
tels que l'heure d'été à partir de 029 et opérateurs et tous les
opérateurs tels que plus moins multiplication
et division, il va ajouter le texte du bouton
au flux d'expressions et
mettre à jour
l'affichage des entrées
avec une nouvelle expression jour
l'affichage des entrées
avec une Donc, si je définis ce fichier et que j'exécute
ce code dans mon terminal, voyons s'il est correctement ou non. Maintenant, si j'appuie sur sept ici et que je veux
multiplier par neuf, alors si j'appuie sur le signe égal,
comme vous pouvez le voir, il en résulte un
reginly Maintenant, je veux effacer
ce champ de saisie. Si j'appuie sur C, le champ
de saisie sera effacé. Créons maintenant
une autre expression. Je vais jouer à deux contre six. Ensuite, je vais
multiplier par cinq. Il s'agit d'une nouvelle expression. Essayons maintenant de nous exprimer
avec nos conditions. Quelle que soit l'expression que nous saisissons, elle sera évaluée. Il va évaluer l'expression et
créer le résultat et il va
créer le résultat
lorsque vous faites l' éloge du sinus égal. Après avoir appuyé sur le sinus égal, il exécute ce
code de bloc DRI et crée ce résultat Ensuite, après avoir créé ce résultat, il renverra le résultat
à cette expression. Maintenant, c'est devenu
une nouvelle expression. Si je multiplie par
deux, encore une fois, cela devient une nouvelle expression
et je passe à ceci et à ce bloc de résultats lorsque nous
appuyons sur égal à
chaque fois que nous appuyons sur C, cela effacera
l'expression. Cela va à nouveau en faire une chaîne
vide, et cela va également définir
la variable d'entrée vide. Si j'appuie sur C, tout sera
supprimé de ce champ de saisie. Ensuite, peu importe ce que nous obtenons dans notre travail sur Es, nous
mettons à jour notre champ de saisie. C'est le
calcul simple que nous devons
faire pour cette calculatrice de base. J'espère que cela vous plaira. Merci d'avoir regardé
cette vidéo,
restez connectés pour notre prochain tutoriel.
50. Projet 3 : horloge numérique: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un nouveau projet, et aujourd'hui, dans ce projet, nous allons construire
cette horloge numérique à l'
aide du
module T et de l'interface graphique Kinar Commençons par l'aspect pratique et
voyons comment nous pouvons y parvenir. Enfin, nous sommes dans mon éditeur de code
Visual Studio, et dans un premier temps, je vais importer
Kinromduyiput Kinar Ensuite, je vais
importer le module T car nous avons besoin d'un module de temps
pour créer l'horloge numérique. Après cela, je vais taper root égal
à DK point TLS, classe Tk Ensuite, je vais lui donner le titre
Summertyp root point title, et notre titre est horloge numérique Je vais également définir la géométrie. Type Sumo, géométrie du point racine, 400 x 200 pixels Après cela, je vais ajouter de la couleur de
fond à
cette fenêtre racine. Donc, tapez, méthode de
configuration par point racine, configuration, puis à l'intérieur des rondes, fond
BG, égal à noir dans
les doubles codes. Ici, j'utilise un fond de couleur noire. Ensuite, je vais
exécuter la boucle principale, Solutt root, dark, main loop, et je
vais définir ce fichier J'ai défini ce fichier, si j'exécute
ce code dans mon terminal, voici à quoi
ressemble notre fenêtre avec un fond de
couleur noire. Maintenant, je vais créer une étiquette qui
affichera notre heure actuelle. Pour cela, je vais définir
une variable appelée label,
label égal à PK
label to label class Ensuite, dans l'
adresse ronde, je vais passer, je vais mettre l'étiquette dans les fenêtres
root et taper root Ensuite, je vais
définir la police, la police, et je vais attribuer, et ici je vais
attribuer la police aérienne, Aerial. Ensuite, je vais
définir la taille de police. Je vais en faire 50. Je pense que 50 c'est bien pour ça. Ensuite, je vais
utiliser le poids de police. Police jusqu'à huit, je veux une police en gras. Audacieux. Ensuite, je vais ajouter
quatre ronds colorés, G. G représente quatre ronds. Quatre couleurs rondes, je
vais utiliser la couleur King. C, Yan. Ensuite, je vais définir la couleur de
fond, taper BG black. Alors je vais
apposer cette étiquette. Tapez donc la méthode PAC label point. À l'intérieur des rondelles, je vais utiliser encore
Property Anchor, et je vais le
placer au centre et l'
agrandir, l'étendre, je vais
le concrétiser Je vais configurer ce fichier. Ensuite, je vais
créer une fonction qui mettra continuellement à
jour l'heure dans cette étiquette. Pour cela, je vais
définir une fonction,
Dave et le nom de notre fonction est mise à jour, heure de
soulignement Heure de mise à jour puis
dans la fonction, ici, je vais définir l' heure
actuelle, l'heure actuelle du
soulignement Nous devons extraire
l'heure actuelle. Pour cela, l'heure actuelle
étant égale à l'heure actuelle égale au point temporel
du module temporel, je vais appeler la méthode
ST RPT, TRT Ensuite, à l'intérieur des
rondelles, nous devons passer le format Dans quel format je
souhaite imprimer l'heure. Je veux utiliser le format 24 heures, donc attachez le sinus modulaire H, puis deux points. Puis un sinus modulaire, pendant une minute, puis deux points A, puis un sinus
modulaire pendant une seconde. Je vais imprimer l'
heure dans ce format. En gros, il va
renvoyer une chaîne de temps. Après cela, je vais configurer
cette fois sur cette étiquette. Pour cela, ici,
je vais taper label label point config
Method, config. Ensuite, lancez ici, je veux configurer
la propriété text,
texte égal à l'heure actuelle Ensuite, après avoir imprimé
l'heure actuelle, nous devons continuellement mettre
à jour l'heure actuelle. Pour cela, je vais taper label point après méthode.
Point d'étiquette après. Ici, je vais utiliser
1 000 millisecondes. Je veux dire 1 seconde, et je vais
mettre à jour l'heure. J'appelle cette fonction l'heure de
mise à jour. À chaque seconde, l'heure sera continuellement mise à jour, et c'est ainsi que nous pouvons
créer notre horloge numérique. Maintenant, avant de définir ce fichier, nous devons appeler l'heure de mise à jour de cette
fonction. Je copie le
nom de la fonction et je vais appeler cette fonction en
dessous de la boucle principale. Et je vais configurer ce fichier. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, vous pouvez voir
ici
notre horloge numérique et elle met continuellement
à jour l'heure. J'espère que vous comprenez maintenant comment créer
une horloge numérique Il est très simple de créer
une horloge numérique comme celle-ci. Merci d'avoir regardé
cette vidéo
Restez à l'affût de notre prochain projet.
51. Projet 4 : Convertisseur de devises: Bonjour, les gars. C'est
bon de te revoir. Encore une fois, je suis de retour avec un nouveau projet aujourd'hui dans ce projet, nous allons construire
ce convertisseur de devises. Comme vous pouvez le constater, si je passe
un montant tel que 14, je
sélectionne une devise. Supposons que je souhaite sélectionner USD. Ensuite, je veux
convertir 14 USD en NR. Ensuite, si j'appuie sur
le bouton Convertir, comme vous pouvez le voir, le montant est renvoyé
en fonction du taux de conversion. De même,
si nous sélectionnons l'euro si je convertit 14 euros en INR,
cela renvoie le montant Ainsi, parmi les
devises prédéfinies, vous pouvez sélectionner n'importe laquelle d'entre elles. Et vous pouvez renvoyer le résultat. Au lieu du nar, si
vous souhaitez convertir l'euro du yen japonais en
euro, vous pouvez voir le résultat. C'est ce que nous
allons construire aujourd'hui. Sans perdre votre temps,
passons à l'aspect pratique. Enfin, nous sommes dans mon éditeur de code
Visual Studio. Dans un premier temps, je vais
importer le module Kiner. Ici, je vais taper
import Kinker en tant que TK. Avec cela, je souhaite
importer des masses box et TTK. Ici, je tape depuis Kinkerimport, TK et mass box Ensuite, je vais créer
la fenêtre Kinker. Je tape root égal
à la classe Tt Tk. Ensuite, je vais
attribuer un titre. Je tape root point title
currency converter. Ensuite, je vais
définir la géométrie, la géométrie du point racine du type
somme, 400 x 250, et je vais
exécuter la boucle principale, la boucle principale du point racine
Sumtyp Ensuite, je vais définir un dictionnaire pour le taux de change
fixe. Avant la fenêtre racine, ici, je vais taper le dictionnaire qu'elle
a créé, et le
nom de notre dictionnaire est taux de change. Dans ce dictionnaire, en
fonction du dollar, nous fixons d'autres taux de change. Nous fixons d'autres taux de change, tels que notre première clé est dollar américain et notre première
valeur est 1,0 dollar. Selon la valeur du dollar américain, si nous l'échangeons en euros, nous pouvons obtenir 0,92 euro De même, si nous le convertissons en INR,
c'est-à-dire en roupie, nous pouvons
obtenir 87,10 De même
pour la livre sterling, nous obtenons 0,78 livre
pour le yen japonais, nous pouvons en obtenir 146 Dans cet exemple,
je n'utiliserai aucune API pour obtenir la
valeur actuelle du taux de change. J'utilise les taux de change fixes. Maintenant, pour définir la géométrie, je vais créer une
étiquette à points pk,
et nous plaçons cette
étiquette dans la fenêtre racine et le texte de notre étiquette est le montant, et la couleur de notre police est la zone
et j'emballe cette étiquette Ensuite, je vais prendre un champ de saisie, un
champ de saisie du montant, de la
morve, le montant inscrit
égal à l'entrée pkt Dans ce champ de saisie, nous
allons mettre le montant, et nous plaçons ce champ de
saisie dans la fenêtre racine et notre taille de
police est de 12 pixels. Ensuite, je vais emballer
ce champ de saisie. Je tape le
point de saisie du montant PAC Mathod. Ensuite, nous devons créer une liste déroulante pour
sélectionner la devise. Je tiens à dire que nous devons
sélectionner notre première devise. Supposons que si vous souhaitez
convertir des USD en INR, vous devez d'
abord
sélectionner le dollar américain Ensuite, vous devez d'abord
sélectionner le dollar américain. Pour cela, à partir de cette liste, de ce dictionnaire, nous devons sélectionner la clé en question. Je vais d'abord
créer une étiquette pour
cette étiquette de ticket. Le texte de notre
étiquette provient de la devise, et je balise cette étiquette. Ensuite, nous devons
créer une zone de liste déroulante. Je vais définir une
variable à partir du combo Undersco. À partir d'une
combinaison de soulignement égale à TK, j'utilise
ici le module TK, la boîte à options
TTlasst. Ensuite, dans la citation,
je vais la
placer dans une racine de fenêtre racine et maintenant, pour les valeurs ici, nous allons
utiliser ce dictionnaire. En gros, ici, nous
devons afficher toutes les clés des
valeurs telles que USD, EUR, INR, GBP et JPY Pour cela, je vais taper
son type taux de change, change, taux de change, méthode
Keys, celle-ci. La méthode Change Rate Dot
Keys
vous donne toutes les clés
du dictionnaire. Et comme vous le savez, un dictionnaire ne renvoie pas une liste normale. Je renvoie un objet à clé directe, mais nous avons besoin d'une liste normale. Nous devons
en faire une liste normale. Pour cela, je vais
utiliser la méthode
list, LIST, list, et
je vais la
déplacer entre accolades.
Laissez-moi vous montrer comment faire. Je vais passer
une virgule. Maintenant, il va renvoyer les éléments
exacts de la liste. Maintenant, cela fonctionne sous forme de liste. Ensuite, je vais définir
la police de cette zone de liste. Je tape après une virgule une police égale à l' antenne et des tailles de police au pixel Ensuite, je vais
emballer ce type de boîte à virgule de combo point PAC Mathod.
Je vais configurer ce fichier. Pour l'instant, si j'exécute ce
code dans mon terminal, vous pouvez voir, d'abord, que nous avons une étiquette de quantité,
puis un flux d'entrées. Ici, nous allons
mettre le montant. Ensuite, nous devons sélectionner
la devise de départ. Vous pouvez voir une zone de liste
déroulante et si je l'ouvre et
que vous pouvez voir
dans notre menu déroulant,
nous avons le dollar américain, l'euro, l'
INR, la livre sterling
et le yen japonais À partir de là, nous pouvons
sélectionner notre devise. De la même manière, nous devons
créer une autre boîte de liste déroulante. Pour l'instant, je vais tuer le terminal,
sélectionner cette section dupliquer cette
section et
remplacer le texte de l'étiquette. Je vais passer à une devise
et aussi à une combinaison à une autre, et nous n'avons pas besoin de
changer quoi que ce soit d'autre. Ensuite, je vais
définir une fonction et nom de
notre fonction est
convert currency. Ici, je vais taper
le nom de la fonction,
Dave, et le
nom de notre fonction est convertir les devises. Dans celui-ci et dans celui-ci, je vais taper pass, et
je vais définir ce fichier. Je vais maintenant
définir un bouton, un
bouton qui va déclencher
la fonction de conversion de devises. Donc, ici, je vais définir un bouton TKClass point
et j'appuie sur ce bouton dans une fenêtre racine et le texte de
notre bouton est Convert I coman this
method, convert currency Et le texte de notre bouton est
aérien et la taille est 12 J'ai défini une couleur d'arrière-plan pour ce bouton qui
est bleu clair
, puis j'emballe ce bouton et
je veux sous-traiter ce fichier. Ensuite, je vais créer une étiquette qui
imprimera le résultat. Pour cela, l'étiquette de
résultat Hemot est égale à l' étiquette
TK et nous la plaçons dans une fenêtre racine. Pour l'instant, le texte de
notre étiquette est vide On ne met rien, alors je vais emballer cette étiquette. Donc, ici, je vais taper result label got PAC method, et je vais définir ce fichier. Ainsi, chaque fois que nous appuyons sur le bouton, vous appelez cette fonction de conversion de
devises. Elle convertit la devise et imprime la
valeur sur cette étiquette. En gros, dans cette fonction, nous allons configurer cette
étiquette pour imprimer la valeur. Passons donc à la fonction de
conversion de devises. Mais avant, je vais
vous montrer à quoi ressemble notre interface. Donc, si je souligne
dans mon terminal, voici à quoi ressemble notre
interface abord, nous devons
transmettre le montant , puis nous devons
sélectionner la devise. Supposons que je sélectionne l'euro et
que je souhaite convertir
l'euro en INR. Ensuite, après avoir transmis la devise, supposons deux, trois, quatre,
si j'appuie sur Convertir, cela affichera la valeur, le résultat sur cette
étiquette pour l'instant, notre étiquette est vide. Lorsque j'appuie sur le bouton de conversion, la renonciation s'affiche. Revenons-en à la fonction. Convertissez des devises. Maintenant, dans un
premier temps, dans la fonction interne, je vais supprimer le pass,
puis je vais
utiliser Tribloc TRY tran Ensuite, à l'intérieur du
tribloc,
nous devons d'abord obtenir la valeur
du champ de saisie,
le champ de saisie Je vais donc définir une variable et notre
variable est le montant, le
montant étant égal au montant, méthode de
saisie par points. En utilisant la méthode du point gate, nous saisissons le montant. Supposons que si nous transmettons quelque chose, supposons 2,35, dans ce cas, notre entrée de montant
serait une variable flottante Pour résoudre le problème, nous utilisons
ici la méthode flottante. Maintenant, il va le convertir
en poids flottant. Donc, pour obtenir le montant
du champ de saisie, nous devons extraire le montant de la
devise de la zone de liste déroulante. Devise héraldinsco identique à celle de la méthode Underscoombo Quelle que soit la valeur que nous
sélectionnons dans la zone de liste déroulante, nous l'obtenons et enregistrons dans cette
variable à partir de la devise. De la même manière, nous
devons extraire deux devises. Je vais donc
taper deux devises
égales à la méthode de la porte
combinée à deux points de soulignement Après avoir obtenu la
devise d'origine, de la même manière, nous devons obtenir le
moment où nous extrayons les deux devises
des deux boîtes combinées. Maintenant, si la devise d'origine
et deux devises existent, donc je tape E à partir de la devise
et de deux devises, alors dans cette condition IP, nous devons convertir le montant. Dans un premier temps, nous devons convertir
cette devise en USD. Si les deux
devises existent, je souhaite les convertir
en dollars américains. Donc, pour taper le montant en USD,
soulignez le montant. Le montant en dollars américains est égal au montant
que je vais diviser. Je vais diviser le
montant par le dur, je vais passer
le taux de change, les taux de
change, et
à l'intérieur du carré contre, je vais passer d'une
devise à l'autre. Ensuite, nous devons convertir la devise USD en devise
cible. Pour cela, je vais
définir une autre
variable : convertissez-la. Convertissez-le égal
au montant en dollars américains, multipliez-le par les
taux existants au cours du tour ou uniquement
pour obtenir la valeur des deux devises. Ensuite, nous devons imprimer la valeur convertie
dans l'étiquette. Pour cela, nous devons
configurer l'étiquette. Ici, je vais taper l'
étiquette de résultat point configure config. Ensuite, à l'intérieur
des robes rondes, je
veux configurer l'option texte. Texte, texte égal à, je vais utiliser une chaîne de caractères,
puis à l'intérieur des codes doubles
et à l'intérieur des robes Cali, je vais d'
abord
imprimer le montant
et la devise de départ Égal à, alors je vais
imprimer la valeur convertie. Ensuite, je vais imprimer
le montant converti. Dans le Carlss,
je vais taper, convertir une variable,
mais il y a un problème Si la conversion renvoie un nombre dechim
tel que 83,1 0555, je ne veux pas imprimer
ce nombre
à cet Je veux imprimer seulement deux chiffres après point après virgule décimale Pour cela, nous devons convertir cette valeur
à virgule
flottante. Pour cela, pour cela, nous devons travailler sur cette valeur à virgule
flottante. Nous allons utiliser un spécificateur de
format. Ici, après l'avoir converti, je
vais taper colon.2a, point deux représente
deux parties de Dhimil et A affiche le nombre à
virgule fixe Ensuite, je veux
imprimer à l'intérieur du Calibra, il est
écrit
deux devises, deux devises inférieures, et je vais définir ce fichier Après cela, nous devons gérer les parties s dans le document s, je veux afficher un message d'erreur si cela ne fonctionne pas parfaitement. Pour cela, je vais
taper mess box point show error et
c'est l'erreur Window. Veuillez sélectionner des devises. Si vous ne sélectionnez aucune telle
que deux devises, sinon formez une devise,
ce message d'erreur s'affichera. Dans notre bloc d'exception, nous
devons également gérer l'erreur. Permettez-moi de vous montrer
, sauf erreur de valeur. Ensuite, à l'intérieur de ce bloc d'exception, je veux afficher un message d'erreur. Ici, son type, la boîte de
message affiche message
d'erreur et
notre message d'erreur est entrez un montant valide. Si nous ne saisissons pas
un montant valide, si nous transmettons des
caractères tels que ABCD, une erreur sera générée Maintenant, nous avons presque terminé. Définissons le fichier et exécutons
ce code dans notre terminal. Donc, après avoir défini le fichier, je vais exécuter ce code dans mon terminal, et comme vous pouvez le voir, voici notre application de
conversion de devises. Tout d'abord, je vais
saisir le montant 12, et je veux le convertir
en USD deux INR. Si j'appuie sur
le bouton Convertir, comme vous pouvez
le voir, la valeur est écrite,
en fonction du taux de change. De même, si
vous souhaitez le convertir en livre sterling, appuyez sur Convertir pour
voir la valeur. Maintenant, au lieu de passer 12, si on passe un, alors quoi ? Ensuite, si j'appuie sur le bouton de conversion, cela va générer une erreur. Entrez un montant valide car
il ne s'agit pas d'un montant valide. Maintenant, si je passe 13 et que je
convertit ce montant en Iona en livre sterling,
vous pouvez voir le résultat Notre convertisseur de devises
fonctionne très bien. J'espère que c'est clair pour toi maintenant. Merci d'avoir regardé cette vidéo, restez connectés pour notre prochain studio.
52. Projet 5 : Convertisseur d'unités: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un nouveau projet, et aujourd'hui, dans ce projet, nous allons créer
une interface graphique de conversion d'unités. Comme vous pouvez le voir sur mon écran, nous créons ce convertisseur
d'unités de conversion, et nous avons ici
plusieurs options. Tout d'abord, nous devons
sélectionner la catégorie. Je tiens à dire que si j'
ouvre ce menu déroulant, vous pouvez
maintenant voir que nous devons définir
deux catégories de longueur
et de température. Si nous sélectionnons la longueur, dans notre liste
déroulante ferme, par défaut, le mètre est sélectionné, et
dans nos deux boîtes combinées, par défaut, le kilomètre est
sélectionné. Si nous transmettons une valeur, elle convertira deux kilomètres en
méta. Si je passe les 2000 mètres, puis j'appuie sur convertir. Maintenant, vous pouvez voir
le résultat s'afficher sur cette
portion, sur cette étiquette. Si j'appuie sur le bouton de conversion, comme vous pouvez le voir, 2000 mètres
équivalent à deux kilomètres. la même manière, si vous convertissez 2000 pouces en kilomètre
et que vous appuyez sur Convertir, vous pouvez
maintenant voir 2000 pouces Si je convertis 2000
pouces en kilomètre, c'est avant 0,05 kilomètre Si vous convertissez 2000
pouces en 2000 pieds ,
puis que vous
appuyez sur ce bouton, vous pouvez voir le résultat
différent. 2000 pouces équivalent à
166 pièces de 67 pieds. Vous pouvez convertir
n'importe quelle unité en n'importe quelle unité. Mais si nous sélectionnons la deuxième catégorie, supposons que si je descends cette
page et que je sélectionne la température, vous pouvez
maintenant voir
dans notre liste déroulante nous avons des
résultats différents tels que Celsius, Fahrenit et Nous avons maintenant des unités
de température. Si je convertit 100 degrés Celsius
en 100 degrés Fahrenheit, vous pouvez voir 100 degrés Celsius
équivalent à 212,00 degrés équivalent à 212,00 Si je le fais en Kelvin et que j'
appuie sur le bouton de conversion, vous pouvez voir 100 degrés
Celsius égaux à 100 Kelvin C'est ce que nous allons
construire aujourd'hui dans ce projet et comprendre comment nos logiques
le sous-tendent Sans perdre votre temps,
passons à l'aspect pratique.
53. Créez la structure et définissez la logique pour afficher les unités dans combobox: Comme vous pouvez le voir, nous sommes dans
mon éditeur de code Salt Studio. Dans un premier temps, nous devons importer le module, les modules
nécessaires. Tout d'abord, je vais
importer le module Kinter. Donc, pour taper, saisissez Kinter sous la forme TK. Après cela, je vais importer
des masses de boîtes. Comme je vais importer TK. Donc, pour taper depuis Kinteriput
TK et Masses Box. Ensuite, je vais
configurer le GY. Pour cela, je vais
créer une fenêtre racine, racine égale à t point T. Ensuite, je vais
attribuer un titre. Ici, je vais taper root
point title Unit converter. Ensuite, je vais définir la géométrie, la géométrie du point racine, 400 pixels par 250
pixels et enfin, je vais exécuter une boucle principale Je tape root point mainloop. Dans notre
application graphique,
nous devons d'abord créer une sélection de
catégories. Pour cela, nous allons
utiliser la boîte Comvo. Mais avant, je vais
définir un niveau pour cela. Je tape donc Tt, tt point Label, nous le plaçons dans une fenêtre racine et texte de
notre étiquette est
Sélectionnez une catégorie. J'emballe cette étiquette. Ensuite, ici, je vais créer une boîte à options, une
combinaison de catégories. Pour créer la zone de liste déroulante, je vais définir une combinaison de catégories
variables. Combinaison de catégories égale
à ttk point combobox. Nous plaçons cette zone de liste déroulante
dans une fenêtre racine et notre valeur de liste déroulante est la
longueur et la température,
et nous attribuons ici
l'état en lecture seule Nous ne pouvons rien écrire
sans ces deux valeurs. Ensuite, je vais emballer cette boîte à options de type catégorie
point combo point PAC Mathod Maintenant, après avoir emballé cette boîte à options, je vais définir ce fichier et exécuter ce code dans mon terminal. Après avoir exécuté ce code,
vous pouvez voir ici notre niveau, et voici notre boîte à options. Maintenant, si je clique sur
cette liste déroulante, vous pouvez voir un total de deux valeurs, la
longueur et la température. Vous pouvez sélectionner la catégorie. Si nous sélectionnons la longueur, alors dans nos unités, elle affiche différentes unités
telles que le centimètre, mètre, le kilomètre, etc. Si nous sélectionnons la température, dans notre section des unités, elle affichera Kelvin,
Fahrenheit Pour l'exécuter dans notre boîte à options, nous devons attribuer une fonction
à l'aide de bind. À l'aide de bind, chaque fois que nous
sélectionnons une valeur, je veux dire n'importe quelle valeur sélectionnée par une liste
déroulante, puis je veux
déclencher une Pour cela, ici,
je vais taper
la méthode de liaison par
points combinés de catégories combinées. Dans le cadre du double
cours, nous
utilisons ici cet événement, combiné sélectionné. Chaque fois que nous sélectionnons un
élément dans cette liste déroulante, cela déclenche les unités de mise à jour de
cette fonction, et je vais définir
la fonction dès maintenant. Ici, je vais
définir la fonction et le nom de
notre fonction est
Dave update units. Pour l'instant, dans cette fonction, je vais taper pass. C'est une fonction basée sur un événement, je vais
donc passer l'événement
ici dans notre paramètre. Je vais configurer ce
fichier. Ensuite, je vais créer la sélection de l'unité
de départ à l'unité. Je tape une seule
commande de bout en bout de sélection des
unités et ici, je vais créer un
cadre pour les unités. Donc, pour taper, taper, unités de
cadre égales à
TTGTFrame et placer le cadre dans la fenêtre racine je vais
également
emballer ce cadre,
unité de cadre point pack Ensuite, à l'intérieur de l'unité de cadre, je vais définir un total de
deux boîtes à options avec étiquette. Ici, je vais montrer les unités par unité et par unité.
Laisse-moi te montrer. Je vais donc d'abord
créer une étiquette, de type S, étiquette
Ttgt, et
je vais placer l'étiquette dans
le cadre
et les textes de notre étiquette à partir de là Ensuite, en utilisant la méthode de la grille, nous emballons cette étiquette. Nous plaçons cette étiquette au numéro de
ligne zéro et au numéro de
colonne zéro. Ensuite, je vais
créer une liste déroulante. Je vais taper à partir combinaison d'
unités égale à une zone de combinaison de points
ttk, et nous plaçons cette zone de liste déroulante
à l'intérieur de l'unité de cadre dans ce cadre et ici nous ne lui transmettons aucune valeur
depuis l'unité, nous avons dit l'état lu uniquement
parce que nous allons
transmettre les valeurs de notre
fonction, mettre à jour la fonction de l'unité En fonction de la sélection, par
exemple de la température, nous allons passer la valeur. Ensuite, je vais le placer
à partir d'une combinaison d'unités. Pour cela, je vais utiliser méthode
de lecture par
points combinés d'unités et nous la plaçons à la
ligne zéro et à la colonne numéro un. Et
je vais configurer ce fichier. Après avoir défini ce fichier, si j'
exécute mon code dans mon terminal, voici à quoi cela ressemble. Maintenant, à côté de P
de la même manière, je vais créer
une autre liste déroulante et une autre étiquette pour deux unités Ici, je vais d'abord
créer l'étiquette, ttk point label, et cette fois, je vais taper l'étiquette deux
et placer l'étiquette à la
ligne zéro et à la
colonne numéro deux Ensuite, je vais
créer la boîte à options. Pour la zone de liste déroulante, le
nom de notre variable est une combinaison à deux unités,
égale à une liste déroulante à points t.
Ici, je vais placer cette zone de liste déroulante dans le
cadre et les statistiques sont en lecture seule Après cela, vous devez placer cette zone de liste déroulante
en utilisant la méthode de notation. Ici, je vais attacher deux
unités undersco combo point GED, nous les plaçons au numéro zéro
et à la colonne numéro trois, et ajouter un peu de
rembourrage aux Après avoir défini ce fichier, si
je code dans mon terminal, voici à quoi cela ressemblait. Maintenant, en dessous de ces deux combobox
, je vais
prendre le champ de saisie pour le vdu saisi par l'utilisateur.
C'est ce que nous allons faire. Pour supprimer cette fenêtre je vais
définir ici un champ de saisie. Pour créer le champ de saisie,
je vais d'abord définir
une étiquette à points Tt et nous plaçons l'étiquette dans une fenêtre racine et
notre valeur de niveau
est EnterValue.Le niveau
prend cette valeur est EnterValue.Le niveau
prend cette Ensuite, je marque cette étiquette. Je vais maintenant créer
le champ de saisie. Pour cela, je vais
lier la valeur d'entrée égale à l' entrée par point
tt et nous
plaçons l'entrée dans une fenêtre racine. Après cela, je vais
paginer ce champ de saisie, une méthode PAC de type valeur d'entrée
point Ensuite, nous devons créer un
bouton qui va commander une fonction et cette fonction
va convertir nos unités. Pour cela, ici, je vais
définir un bouton, et le nom de notre bouton
est le bouton de conversion. bouton de conversion est égal
à la classe de bouton Ttgtd, et nous le
plaçons dans une racine dans et notre bouton prend cette conversion et commande cette fonction,
convertir, puis j'
emballe ce Comme vous pouvez le voir, nous
ne définissons pas notre fonction, je vais
donc
définir cette fonction, donc je copie le nom de la fonction, et ici je vais
définir la fonction. Je vais taper DF et le nom de
notre fonction est convert dans cette fonction et dans cette
fonction pour le moment, je vais taper pass. Maintenant, chaque fois que j'
appuie sur le bouton, il appelle la fonction de
conversion et fonction de conversion
pour convertir nos unités. Nous devons maintenant
afficher le résultat. Pour cela, nous
allons utiliser une étiquette. Ici, je tape une
étiquette de résultat égale à une étiquette T, et nous plaçons cette étiquette
dans une fenêtre racine Notre résultat textuel apparaîtra ici et notre police est Aerial
12 pixels et Bold Fon. Ensuite, j'emballe cette étiquette. Ainsi, chaque fois que je renvoie le résultat, il va configurer
l'étiquette du résultat et remplacer le texte du
résultat par le résultat. Travaillons maintenant sur la méthode
Update unit. Je vais donc passer à l'unité de mise à jour de
cette section. Dans cette méthode de mise
à jour des unités , nous devons d'abord
extraire la catégorie. Nous devons extraire
la catégorie de la liste déroulante entre
longueur et température. Donc, je tape la catégorie égale à la méthode de la porte
combinée à points de catégorie. Donc, à partir de cette boîte à options,
nous obtenons la catégorie. Cela peut être la longueur,
sinon la température. Ensuite, à l'intérieur, je vais
définir une condition IP. Si la catégorie est égale
à la longueur, alors dans cette catégorie, je vais définir les unités, et je vais créer
une liste d'unités. Je définis une
unité variable et c'est une liste. À l'intérieur de la liste, nous avons le
mètre, le kilomètre, le centimètre, l'ajustement au pouce et le mil en ellipse une catégorie ZIP égale
à la température, puis dans la condition elliptique, ici je vais dire, ici
je vais définir Ensuite, notre liste d'unités devient
Celsius, Farénite et Kelvin. En tant que. Dans notre partie s, comme dans le bloc s, je vais passer
la liste d'unités vide. Unités égales à une liste vide. Ensuite, nous devons placer les unités,
ces unités dans la zone de combinaison, par
exemple à partir d'une combinaison d'unités
et d'une combinaison de deux unités. Je vais taper
après le bloc en dehors de la condition s
à partir de la combinaison d'unités, je veux définir les
valeurs égales aux unités. De même pour le combo de deux
unités, le combo de deux unités, je vais insérer
le cli dans les carrés dont les valeurs sont égales à, je vais définir les unités. Ensuite, je vais configurer ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal, maintenant, vous pouvez voir si je sélectionne la
catégorie telle que la longueur, puis dans notre unité de départ, nous avons
maintenant une liste déroulante. Nous avons une liste déroulante d'
unités de longueur telles que le mètre, kilomètre, le centimètre, le
pouce, les pieds, le mil, etc. la même manière, si vous ouvrez deux boîtes de liste déroulante, vous pouvez maintenant
voir toutes les unités de longueur. De même, si nous
sélectionnons la température, vous pouvez
maintenant voir que nous
avons des
unités de température dans notre boîte à options. Mais lorsque je sélectionne ma
catégorie, comme vous pouvez le voir, nos champs de formulaire et deux
champs de liste déroulante sont vides, mais je ne veux pas qu'ils Je souhaite sélectionner
la valeur par défaut. Donc, pour les quatre
unités ici pour l'unité de départ, ici, je vais mourir d'
unité à partir de l'unité sous le courant, je vais sélectionner
l'indice zéro De même pour les deux
unités pour le combo de deux unités, je vais sélectionner
l'index numéro un. Maintenant, pour définir ce fichier,
si je
réexécute ce code et si je sélectionne une valeur, catégorie
telle que la longueur, vous pouvez voir par
défaut sélectionner le mètre
parce que le mètre est
dans mon index zéro, et dans nos deux boîtes à combinaisons, il s'agit de sélectionner le kilomètre car kilomètre est dans notre premier index, et vous savez que l'
index de notre liste commence à zéro. C'est pourquoi il sélectionne
ces deux unités, et cela fonctionnera pour la même chose
si nous sélectionnons la température. Maintenant, vous sélectionnez
Celsius dans notre
unité de départ et dans nos deux listes déroulantes, vous sélectionnez
Fahrenheit Il s'agit de la première partie
de ce didacticiel. Dans la prochaine partie
de ce tutoriel, nous allons travailler
sur la fonction de conversion. Vous devez également créer
deux autres fonctions pour convertir la température
et convertir la longueur. Merci d'avoir regardé
cette vidéo, restez à l'affût de la prochaine partie
de ce didacticiel.
54. Travailler sur la méthode de conversion: Il s'agit donc de la deuxième
partie de ce didacticiel, et dans cette section, nous allons travailler
sur la logique de conversion. Je tiens à dire que nous allons
travailler sur cette
fonction, la conversion. Au début, je vais
supprimer le mot clé pass, et je vais
utiliser Tri Block, essayez. Ensuite, je vais taper
exit except block. Dans notre bloc de sortie, je vais taper value
error value error, et je vais afficher un message. Je souhaite afficher un message
d'avertissement. Ici, je vais taper un point dans la boîte de message Afficher l'erreur
Méthode d'entrée non valide. Entrez une valeur numérique. Maintenant, dans un premier temps, dans
le bloc tri, je vais obtenir la valeur. Je veux dire quelle que soit
la valeur que l'utilisateur passe dans ce champ de saisie,
ce champ de saisie. Nous devons donc extraire la valeur de la variable
enrfield Je suis donc ici en train de taper
une valeur variable, valeur égale à la méthode Gate du
point d'entrée. En utilisant cela, nous pouvons
obtenir
la valeur de la variable et la convertir
en nombre flottant. De la même manière, je vais
extraire la catégorie. À partir de cette variable, combinaison de
catégories. Pour cela, je vais
définir une autre variable, category égale à
category underscoe combo point gate method Ensuite, nous devons
extraire l'
unité from et également
extraire les deux unités. Ici, je vais taper le nom de la
variable à partir de l'unité, égal à la méthode du point
combiné point gate de soulignement de l'unité Ensuite, je vais
extraire deux valeurs unitaires. À partir de la combinaison de deux unités, je vais extraire la valeur et ajouter un bit à cette variable. Ensuite, je vais définir
une condition dans cette catégorie triblog I
égale à la longueur Si la catégorie est la longueur, alors je veux appeler une fonction Dans notre variable de
résultat, résultat égal à ici, je veux appeler une fonction, et le nom de notre fonction
est convert length. Je vais taper convert length
et à l'intérieur du laiton rond, puis à l'intérieur du laiton rond, comme argument, je
vais prendre
la valeur, la valeur exacte, puis
je vais prendre l' unité
de départ et je vais
prendre deux unités par unité. Et nous devons également
définir cette fonction. Je vais donc copier le nom de la fonction convert
length et après cela,
après le bloc except, Hemotye a donné la longueur de conversion du nom de
notre fonction en paramètre, je vais passer la valeur
de l'unité à l'unité Ensuite, dans cette
fonction pour le moment, je vais taper pass. Je vais créer
cette fonction ultérieurement. Maintenant, je vais
taper la catégorie I, égale à égale à
l'intérieur des codes Dogon, je vais taper température,
puis entrer la condition des lèvres Ensuite, je vais appeler
une autre fonction, qui est de convertir la température. Je tape result égal
pour convertir la température, et ici je vais
passer les mêmes paramètres. Ensuite, nous devons
définir cette fonction, je vais
donc
copier le
nom de la fonction ici que je vais taper. Après cela, Dave, nom de
notre fonction est
convertir la température, et comme argument,
je vais prendre la valeur de l'unité à l'unité. Je copie cette section et je
vais la coller ici. Pour l'instant, dans cette fonction,
je vais taper pass. Je vais le créer plus tard. Et je vais configurer ce fichier. Ensuite, dans notre S doc type
s au lieu du S doc, je veux afficher un message d'erreur. Je souhaite imprimer Je souhaite
afficher un message d'erreur. Tapez le point Afficher l'erreur dans la boîte de message et le nom de notre fenêtre est erreur, veuillez sélectionner une catégorie valide. Si vous ne sélectionnez pas
de catégorie valide, le message d'
erreur sera renvoyé. Sur ce, je veux y retourner. Retour Je veux revenir ici
Je veux renvoyer le résultat. Je souhaite imprimer le résultat dans notre étiquette de résultat
à cette variable. Nous devons configurer cette variable d'étiquette de
résultat. Ici, je vais taper l'étiquette de
résultat point Config, et je vais
configurer le texte. J'utilise Estring et
je vais d'abord transmettre la valeur Ensuite, à partir de l'unité et
égal au résultat, j'utilise
ici colon.2f, je veux dire, cela signifie un point plat, je ne veux imprimer que Je ne souhaite imprimer que deux chiffres. C'est pourquoi je l'utilise. Tout d'abord, il
va imprimer la valeur. Si nous en passons deux,
il en imprimera deux. Ensuite, il va
imprimer l'unité de départ. Si nous dépassons deux kilomètres et que nous
sélectionnons le kilomètre, deux kilomètres seront
imprimés. Passons maintenant à la fonction de
conversion de longueur. Donc, passez à distance et voilà,
je vais taper. Il est essentiellement là pour créer un dictionnaire et le nom de notre
dictionnaire est unités unités égales à, je vais faire en sorte que les unités de petits
caractères soient égales à ici, je vais imprimer un dictionnaire. Au lieu de cela, le Cali res it me suggère
déjà les valeurs. Je vais imprimer les valeurs
mètre 110, kilomètre 1 000, centimètre 0,0 1 «
0,0 254 pieds et mil Essayons maintenant de
comprendre les unités Ce que j'ai fait ici, notre
première clé représente le mètre. Ici, 1 mètre est égal à 1 mètre, puis 1 kilomètre
égal à 1 000 mètres. Ensuite, 1 centimètre est
égal à 0,01 mètre. Ensuite, un pouce est égal
à 0,025 mètre. Ensuite, nous avons 1 pied, 1 pied égal à 0,3 048 mètres Ensuite, nous avons mille 1 mille
égal à 1609 0,34 mètre. En gros, nous convertissons chaque
unité en poids au mètre. Il utilise le compteur comme unité
de référence universelle. Ensuite, nous devons convertir l'entrée
utilisateur en compteur. Pour cela, je vais
définir une variable. Ici, je vais taper une
valeur en mètres égale à, je vais passer
la valeur utilisateur ici, puis je vais multiplier par unités unités point par unité. Quelle que soit l'unité qui utilise
selec from combobox, nous la transmettons ici depuis
le dictionnaire des unités,
nous accédons à l'unité nous accédons à l' Supposons que vous utilisiez Select Centimeter. Ensuite, il va
multiplier la valeur, supposons que l'utilisateur passe sept ici. Ensuite, il va multiplier
sept par une valeur de 0,01. En gros, nous convertissons
la valeur en mètre. Ensuite, nous devons convertir la valeur du compteur
en unité cible, quelle que soit la valeur sélectionnée par les utilisateurs. Dans notre boîte à deux combinaisons. Pour cela, je vais
renvoyer la valeur en mètres divisée par unités, et je souhaite accéder à deux unités. Dans nos deux boîtes combinées, si les utilisateurs sélectionnent
des miles, ils diviseront la valeur du compteur par
la valeur des miles, et le résultat sera renvoyé. Donc, pour définir ce fichier
et vérifions-le. Cela fonctionne-t-il correctement ou non ? Quelqu'un pour appuyer sur le bouton Exécuter. Et d'abord, je vais sélectionner la catégorie qui est en retard
après avoir sélectionné la catégorie, nous allons
passer à ce bloc, cette condition p, et cela
va à
cette condition p, et cela
va déclencher cette
fonction, convertir la longueur. Et dans notre fonction de longueur, nous convertissons
ici l'
objectif en mètre, puis nous renvoyons le résultat
original. Je vais donc transmettre la valeur saisie
et je vais passer 12 mètres et je veux la
convertir en mil. Sinon, pour l'instant, je vais le convertir en kilomètre. Si j'appuie sur Convertir, comme vous
pouvez le voir, le résultat s'affiche. Si vous convertissez 12
mètres en kilomètres, le résultat sera
de 0,01 kilomètre. Mais si nous sélectionnons
12 kilomètres et je vais le convertir
en amer, dans ce cas, il produira 12
000 mètres, 12 kilomètres équivalent
à mille mètres, notre
méthode de conversion de longueur fonctionne parfaitement. Travaillons maintenant sur la température. Je vais tuer ce terminal et
supprimer le mot de passe ici, je vais taper la condition IP. Si à partir d'une unité égale
à C, si nous sélectionnons Celsius, alors dans cette condition IP, je vais utiliser
une autre condition IP. Si nous sélectionnons Celsius, alors dans cette condition P, je vais utiliser si deux unités sont
égales à Fahrenheit, puis je veux
retourner ici Je vais
calculer Celsius Je vais taper une valeur, et je vais multiplier
la valeur par 99/5, et je vais
ajouter 32 à huit Ajout depuis 32. Ici, nous convertissons la valeur
Celsius en Fahrenheit. Ensuite, dans notre état ZIP, si LC si deux unités égales à, je sélectionne Kelvin K, puis dans la condition Lip, je vais revenir, revenir, et là je vais transmettre la
valeur et je vais
ajouter de la valeur avec 273,15 Non, c'est LC L deux
unités égales à K, alors je veux le convertir
en Kelvin Ici, je convertit la valeur
Celsius en Kelvin et nous devons faire la même chose
pour les degrés Fahrenheit Je vais phosphorer
ce processus et
hémotyper unité par unité, égal à égal si je
veux dire fahrenheit,
puis à l'intérieur du bloc p, puis à l'intérieur du bloc p, je vais utiliser Si P deux unités sont égales
à Celsius C,
C, la condition intérieure de la condition IP puis celle de la condition IP, je vais renvoyer
les valeurs Fahrenheit Je vais renvoyer la valeur
-32, multiplier par 5/9. Il va convertir la valeur
Fahrenheit en degrés Celsius. Ensuite, L deux unités égales
à Kelvin, si les utilisateurs sélectionnent Kelvin, puis convertissent
Fahrenheit en Pour que t renvoie la valeur -32, multipliez par 5/9 plus Ici, nous convertissons la valeur
Fahrenit en kelvin à l'
aide de Il va renvoyer
la valeur Kelvin
après avoir passé la valeur Fahrenit Maintenant, nous devons faire
la même chose pour Kelvin à t s à partir d'une unité
égale à K,
Kelvin, puis à l'intérieur
du bloc LC, ici je vais sélectionner
une autre condition Si deux unités sont
égales à Celsius, alors dans la condition, vous devez convertir la valeur
Kelvin en Celsius. Pour cela, je vais lier la valeur de retour et la valeur de retour
-273,15,
L LC, ils sélectionnent le
Fahrenheit Dans ce cas, je souhaite y retourner. Je souhaite renvoyer la valeur
Fahrenheit. Nous devons convertir la
valeur Kelvin en degrés Fahrenheit. Ici, nous convertissons les
degrés Fahrenheit en degrés Celsius. C'est pourquoi j'utilise cette formule. Je sais que dans ton cours de sciences, tu fais déjà ce calcul. Je ne vais donc pas
expliquer comment cela fonctionne. Ensuite, nous devons renvoyer le retour, nous devons renvoyer la valeur,
et je veux définir le fichier. Après avoir défini le fichier,
si j'exécute ce code dans mon terminal et que je
sélectionne la catégorie, cette fois je vais
régler la température et je vais
convertir les degrés Celsius en degrés Fahrenheit Ici, je vais passer les
100 degrés Celsius. Et si je le convertit en
degrés Fahrenheit, comme vous pouvez le voir, 100 degrés Celsius équivalent
à 212 degrés Si je fais entrer Cavi, vous pouvez
maintenant voir 100 degrés
Celsius, soit 100 kelvin Mais si je convertis 100
kelvin en 100 degrés Fahrenheit, puis que je ne fais pas de conversion, vous
pouvez voir 100 kelvin équivalent à
-279,67 degrés Fahrenheit. C'est ainsi que nous construisons
notre convertisseur d'unités. J'espère que ce processus vous plaira. Merci d'avoir visionné cette vidéo, restez connectés pour notre prochain projet.
55. Inscription à la connexion depuis l’interface graphique: Bonjour, les gars. C'est
bon de te revoir. Encore une fois, je suis de retour avec
un nouveau projet Quinta GUI. Aujourd'hui, dans ce projet, nous allons créer un
identifiant et un formulaire d'inscription,
et nous allons stocker le nom
d'utilisateur
et le mot de passe dans un fichier JSON Nous allons également utiliser la méthode de hachage du
mot de passe
pour enregistrer le mot de passe Personne ne peut extraire
le mot de passe facilement. Parlons maintenant de ses fonctionnalités. Si je parle de ses fonctionnalités, nous devons créer une inscription,
créer un nouvel utilisateur et
stocker le nom d'utilisateur et le mot de
passe dans un JSON Ensuite, nous devons
créer le login. Ici, nous devons vérifier les informations d'identification par rapport
aux données stockées Puis vient la validation. Nous devons
le valider pour éviter le double nom d'utilisateur et les champs
vides, etc. Enfin, nous devons
montrer les commentaires. Nous devons afficher les messages de réussite ou d'erreur avec messagebox Parlons maintenant de
la configuration des fichiers. Tout d'abord, nous devons
créer le fichier Python. Dans notre cas, je vais
créer l'application point pi. Ici, nous allons
taper le code principal de l'interface graphique. Ensuite, nous devons créer un fichier
de base de données en utilisant le code
JSON par point pour créer ce
fichier automatiquement s'il n'existe pas. Commençons le codage et
voyons comment nous pouvons le créer. Comme vous pouvez le voir, nous sommes dans l'éditeur de code de mon studio de
résultats. Dans un premier temps, je vais
importer le module Kiner, tapez input Kinter comme TK Ensuite,
pour afficher les messages,
je vais importer la boîte de
message de Kinter
So pour la taper depuis la boîte de messagerie de
Kinteriport Ensuite, nous devons importer le module
JSON pour taper Import JSn et ensuite, je vais importer le module du système d'exploitation Définissons maintenant l'inter GY. Dans un premier temps, je vais
taper une seule commande. Ici, nous allons
créer le Kint GY. Dans un premier temps, je vais
créer la fenêtre racine. Je vais taper root
égal à t point T class. Ensuite, je vais attribuer un titre ici Je vais attribuer
un titre à cette fenêtre. Je vais taper
root point title is at the round press
login and sign from. Ensuite, je vais définir
la géométrie de cette fenêtre. Je vais taper une
géométrie racine de 300 x 250 pixels. Ensuite, je vais attribuer une couleur de fond
à la fenêtre racine. Je vais taper root
point config Method. Ensuite, à l'intérieur du
laiton rond, je vais utiliser BG, couleur de
fond, BG égal à deux, à l'intérieur des codes doubles. Je vais passer un code couleur. Ici, je veux appliquer une couleur
grisâtre, someti Has tag e2e2 EP
two Créons maintenant la boucle moyenne. Je suis ici pour root, la boucle principale. Ensuite, je vais
créer les sorciers. Nous avons besoin de ces assistants
pour prendre les entrées, telles que le nom d'utilisateur et le mot de passe, et nous devons créer deux
boutons pour la connexion et l'inscription Ici, je vais en
créer un plus tard. Je vais taper t
point label et nous plaçons cette étiquette dans
la fenêtre racine
et le texte de notre étiquette est nom d'utilisateur. Ici, nous avons indiqué la même couleur de
fond pour cette étiquette, et j'emballe cette étiquette. De plus, je veux
prendre un champ de saisie. Pour stocker le champ de saisie, ici, je vais prendre une variable et le nom de notre variable
est le nom d'utilisateur de l'entrée. Entrez le nom d'utilisateur égal à l'entrée
tikt et nous
plaçons ce champ de saisie
dans la fenêtre racine et nous définissons ici 25 Ensuite, nous devons
emballer ce champ de saisie. Pour emballer ce champ de saisie, je vais taper la variable nom d'utilisateur
point Pack Mathod la même manière,
je vais utiliser
un autre champ de saisie
pour le mot de passe. Je crée d'abord l'étiquette, puis je crée l'étiquette. Ici, je vais prendre
le champ de saisie et notre variable de saisie
est le mot de passe, et nous plaçons ce champ d'entrée dans une fenêtre racine au lieu
d'afficher des caractères, je veux montrer ces étoiles Cela va transformer
le personnage en étoile. Ensuite, je vais remplir le
champ de saisie. Méthode de saisie du mot de passe par point. Ensuite, je vais
prendre deux boutons. Un bouton est pour l'inscription et
un autre pour la connexion. Au début, je vais
créer le bouton de connexion, mais avant de
démarrer WR. Et ici, je vais
taper le bouton du ticket et le placer sur le
même plan que la fenêtre racine, et notre bouton enverra cet identifiant par texto, et il
commandera cette méthode, se connectera et définira avec dix pixels et une couleur d'
arrière-plan cette couleur
verte et pour la
couleur de fond la couleur blanche. J'emballe cette méthode. Pad, et je vais aussi
ajouter du rembourrage à Y xs, pad Y, je vais
attribuer dix pixels,
sinon cinq pixels Ensuite, je duplique ce bouton. Après avoir dupliqué
ce bouton, celui-ci est destiné à l'inscription et il va commander
la fonction d'inscription Je remplace le login par l'inscription. Ensuite, je vais
définir la fonction. Je vais d'abord définir
la fonction d'inscription. Je copie le
nom de la fonction et ici et là, je vais taper Dave Notre nom de fonction est s'
inscrire dans cette fonction, je vais taper pass. Pour l'instant, je vais
taper pass pour éviter le. Ensuite, je vais dupliquer cette fonction et je
vais l'appeler login. Je copie le nom de la fonction login, et je vais remplacer
signup par login Et je vais configurer ce fichier. Après avoir défini ce fichier, si j'
exécute ce code dans mon terminal, voyons à quoi ressemble notre
interface. Après avoir défini ce fichier, si
j'exécute du code dans mon terminal,
voici à quoi ressembleront nos formulaires d'inscription
et de connexion Nous avons d'abord le
niveau du nom d'utilisateur, puis le
champ de saisie du nom d'utilisateur, puis nous avons une
étiquette de mot de passe,
et nous avons le
champ de saisie du mot de passe, puis le bouton de connexion
et le bouton d'inscription C'est la première
partie de ce tutoriel et dans la même partie
de ce tutoriel, nous allons travailler
sur les fonctions. Merci d'avoir regardé ce
stade vidéo pour notre prochain tutoriel.
56. L’inscription aux connexions partie 2: C'est bon de vous revoir, les gars. Il s'agit de la deuxième
partie de ce didacticiel, et dans cette section, nous allons créer le JSON. Mais d'abord, je vais définir une variable et notre
variable est le fichier utilisateur. Fichier utilisateur égal à ici
dans les codes doubles, je vais fournir
un chemin de fichier, le chemin du fichier JSON. Dans les codes doubles, je vais taper
users point JSON. Comme vous pouvez le voir dans mon répertoire de travail
actuel, il n'y a pas de JSON dont nous avons besoin pour créer ce fichier JSON
en utilisant la condition IP. Je vais taper
une seule commande, adresse IP du fichier de
création n'existe pas. Ensuite, je vais
définir la condition IP. Si ce n'est pas le cas, le point de chemin du point st existe. Ensuite, à l'intérieur de la robe ronde,
je vais transmettre le fichier utilisateur. Si ce fichier utilisateur n'
existe pas dans mon répertoire de
travail actuel, alors dans la condition alors
à l'intérieur de l'IP, je veux ouvrir ce type avec open inside the
roundre user file, user file et je veux
ouvrir ce fichier en mode W. Dans les dieux uniques, je
vais taper le mode écriture, W comme pointeur de fichier ape. Ensuite, dans cette fonction ouverte, je vais taper Json point dump
Mthod dump Inside
the rounddresses, je vais passer le dictionnaire Nt,
puis notre pointeur de fichier, F. En utilisant cette méthode JSON
dumb here, F. En utilisant cette méthode JSON nous écrivons un objet
JSON vide Je vais agir comme une
base de données de découpe pour stocker le
nom d'utilisateur et le mot de passe. Maintenant, si je définis ce fichier et que j'
exécute ce code dans mon terminal, vous pouvez
maintenant voir dans mon travail
actuel dans le répertoire qu'il a créé un point JSON JSON. Il va créer le JSON si le fichier n'existe pas
dans mon répertoire. Sinon, ça ne
va pas créer. Ensuite, je vais travailler
sur la fonction d'inscription. Dans la fonction d'inscription, je vais supprimer le
mot clé pass et d'abord, je vais d'abord prendre l'entrée Je tiens à dire que nous devons
saisir
le nom d' utilisateur,
ainsi que le mot de passe. Ici, je vais définir un
total de deux variables. Pour le nom d'utilisateur, je vais taper
un nom d'utilisateur égal
au nom d'utilisateur d'entrée
point Méthode Gate. En utilisant la méthode de la porte, nous pouvons obtenir la valeur
à partir du champ de saisie et en utilisant la bande de points et
en utilisant la méthode de la bande, nous pouvons supprimer les espaces
supplémentaires à la fin et sinon
dès le début. De même, je vais
prendre un autre mot de passe. Je vais donc définir
une autre variable, mot de passe égal à la méthode d'entrée underscoe password
point gate Et maintenant, nous devons vérifier le champ de saisie
en utilisant la condition IP. Si notre champ de saisie, tel que nom d'utilisateur et le mot de passe, est vide, nous allons
afficher un message d'erreur. Pour cela, je vais définir
une condition IP, un certain type. Sinon, nom d'utilisateur
ou mot de passe, alors dans cette condition EIP, je souhaite afficher ce message
d'erreur Je vais donc taper messagebox point herror et nom de
notre fenêtre est r.
Tous les champs sont obligatoires. Sur ce, je veux le rendre. Retourner. Je vais transmettre
ce mot clé de retour. flèche utilise le retour car après avoir
affiché le message d'erreur, nous devons arrêter l'exécution. C'est pourquoi nous devons
utiliser ce mot clé de retour. Ensuite, nous devons créer
une méthode qui va charger les données
depuis le AdjacenFile. Pour cela, je vais
définir une méthode. Je vais définir une fonction
et le nom de notre fonction est Dave load user dans
cette fonction, je vais taper
avec open with open. Dans la méthode open, je vais transmettre le fichier utilisateur, chemin du fichier
utilisateur ou le chemin du fichier
JSON, et je vais ouvrir
ce fichier en mode lecture. Dans les codes doubles,
je vais taper R sous la forme F. Ensuite, dans la méthode
open file, je veux retourner return, je veux renvoyer
JSON dot load Math. Chargez, je vais passer
le huit à cinq points. Je vais maintenant appeler
cette fonction load user dans la fonction d'inscription. Après mon retour ici, je vais taper users equal to load user. Je vais maintenant définir
une autre condition IP. Si l'utilisateur nomme un utilisateur, je souhaite afficher un
message d'erreur. Laisse-moi te montrer. Ici, je vais taper
messagebox point show error, et nous allons
afficher cette erreur et je vais taper
dans notre boîte d'erreur, nous tapons username already exist Après avoir affiché ce message
d'erreur, je souhaite arrêter l'exécution, je vais
donc passer return. Ce message d'
erreur s'affichera si nous avons le nom d'utilisateur préexistant
dans notre fichier JSON Supposons que je sois déjà inscrit, que je crée déjà mon compte
avec le nom d'utilisateur de Joint. Ensuite, si j'essaie de me
réinscrire et de
remplir le même nom Join
To, ce message d'erreur s'affichera Sinon, nous devons ajouter le nouveau nom d'utilisateur et
la nouvelle paire de mots de passe
dans le dictionnaire. Pour cela, ici,
en dehors du bloc EP, je vais orienter les utilisateurs à
l'intérieur du carré,
je vais transmettre le nom
d'utilisateur et le nom d'utilisateur égaux au mot de passe. Je vais configurer ce fichier. Pour définir le nouveau
nom d'utilisateur dans le fichier JSON, nous devons appeler une fonction, et le
nom de notre fonction est save user. Mais nous ne définissons pas
la fonction, alors définissons-la. Ici, après avoir chargé l'utilisateur, je vais définir une autre fonction et le nom de notre
fonction est Dave save underscore user À l'intérieur de la
cavité ronde, il ne
faudra qu' un seul utilisateur de paramètres Ensuite, dans cette fonction, je souhaite ouvrir le
JSON en mode écriture. Je tape avec le fichier utilisateur ouvert en mode écriture sous forme de
cinq pointeurs huit. Ensuite, je vais taper Jasn
dumb method, Jasn point dum, et je vais passer
la valeur utilisateur user et le fichier et
les cinq points F, et je
vais définir ce Maintenant, je vais utiliser cette
fonction, enregistrer l'utilisateur. Ici, j'appelle la
fonction Enregistrer l'utilisateur, enregistrer les utilisateurs. Ensuite, je vais afficher
le message de réussite. Je tape messagebox point show
Info et le nom de notre fenêtre est
success et le compte
de type Hemo Et je vais configurer ce fichier. Maintenant, appuyez sur définir ce fichier,
envoyons le code dans le terminal et voyons s'
il fonctionne correctement ou non. Je vais donc appuyer sur
le bouton Exécuter. Et là, je vais
essayer de renseigner un nouvel utilisateur. Donc, mon nom d'utilisateur est
Joint JAY a NTA, et je vais définir
le mot de passe 12345, passe
simple, et je vais
appuyer sur le bouton d'inscription Après avoir appuyé sur le bouton d'inscription, comme vous pouvez le voir, le compte
a été créé avec succès Cela montre les succès,
les masses de succès. Et si j'ouvre mon
fichier JSON, l'utilisateur point JSON, nom d'utilisateur joint est Joint
et le mot de passe est 12345 Et si j'essaie de
saisir le même nom, inscrire et de changer
le mot de passe un, deux, trois, quatre,
et que j'essaie de m'inscrire, vous pouvez
maintenant voir
le message d'erreur car le nom d'utilisateur existe déjà. Notre code fonctionne donc très bien. Ensuite, je vais ajouter
un autre utilisateur, en ajouter un. Ajoutez-en un et je vais
définir le mot de passe 111, et je vais
passer le bouton d'inscription Il va définir
le nom d'utilisateur et
le mot de passe dans mon fichier JSON. Ici, vous verrez le résultat. Notre fonction d'inscription
fonctionne correctement. Ensuite, nous devons travailler
sur la fonction de connexion, mais pas dans ce tutoriel. Je vais le faire dans
le prochain tutoriel. Merci d'avoir regardé cette vidéo, restez connectés pour notre
prochain tutoriel.
57. Connexion en ligne - Inscription Partie 3: C'est bon de vous voir, les gars. Ceci est une autre partie de ce tutoriel et dans cette section, nous allons travailler sur la méthode de
connexion, cette fonction. Pour cela, je vais
supprimer le mot clé pass de la fonction
de connexion et nous devons
ici extraire les données du champ de saisie,
du nom d'
utilisateur et du mot de passe. Dans un premier temps, je vais
extraire le nom d'utilisateur et l'enregistrer dans
cette variable de nom d'utilisateur. À partir du nom d'utilisateur saisi, nous obtenons la valeur et, la
même manière, nous devons
extraire le mot de passe. Ici, je vais taper Password
égal au mot de passe d'entrée, entry underscopassword
point Une fois que j'ai
obtenu les données de l'interface, nous devons charger l'utilisateur. Pour cela, Herm Tip charge l'utilisateur de la
même manière que la méthode Load User. Celui-ci. Vous devez également
définir une condition IP. Ici, nous devons définir une condition EP correspondant
au nom d'utilisateur
et au mot de passe
du dictionnaire JSON. Nom d'utilisateur Hearty I, utilisez un nom d'utilisateur Si le nom d'utilisateur est dans le champ User et si le nom d'utilisateur se
trouve dans les cuivres rondes, je vais utiliser le nom d'utilisateur, par
exemple si je transmets Join à, alors la clé Joint
correspondra
à ce mot de passe Utilisez un nom
égal au mot de passe. Ensuite, dans cette condition IP, je souhaite afficher un message de
réussite. Ici, je veux montrer les masses de succès
avec le nom d'utilisateur. Je vais taper Masses
Box.in Four dans les Runs. Notre nom de fenêtre est success, et ici nous utilisons Estr et imprimer Bienvenue, le nom d'utilisateur. Si Advance login,
il va imprimer AdvName et je m'inscris pour me connecter, puis il va
imprimer le nom du joint Toujours dans notre blog els, nous devons gérer
le message d'erreur. Je vais taper ls. Ensuite, à la place de l'
Elsblog, je vais
taper messagebox Notre nom d'utilisateur est une erreur
et ici, imprimez utilisateur ou un mot de passe
non valide Je vais configurer ce fichier.
Passons maintenant à définir ce fichier. Exécutons le code dans notre
terminal et essayons de nous connecter. Maintenant, comme vous pouvez le voir, dans le champ de notre nom d'utilisateur, je vais taper mon nom
Joan JAY a NTA, J en majuscule Ensuite, je vais
passer le mot de passe. Mon mot de passe est un,
deux, trois, quatre, cinq. Si le nom d'utilisateur correspond à ce mot de passe et que vous appuyez sur
le bouton de connexion, vous pouvez
maintenant voir Welcome Join. Je montre le message de réussite. Mais si je change le nom d'utilisateur, donc je supprime le dernier
caractère A et que j'essaie de me connecter, vous pouvez
maintenant voir un
nom d'utilisateur ou un mot de passe invalide. Cela montre les erreurs. De même, si je tape
le nom d'add one A, Dwan et que je tape le mot de passe
1111 et que j'essaie de me connecter, vous pouvez
maintenant voir Welcome en ajouter Il se connecte pour fonctionner parfaitement. Mais nous devons mettre à jour
notre formulaire de connexion. Nous devons le rendre
un peu plus avancé. C'est un simple formulaire
de connexion de base, je n'en veux pas. Maintenant, si vous remarquez, si je dois accéder facilement au code utilisateur JSON, tout le monde
pourra lire le mot de passe. Tout le monde peut utiliser ce mot de passe
et se connecter à ce système. Je n'en veux pas. Je
veux un hachage de mot de passe Nous allons mettre à jour
ce système avec le
hachage des mots de passe en utilisant SHA 256 Les mots de passe ne sont pas
enregistrés en texte brut. Quoi que nous
saisissions dans le champ du mot de passe, personne ne peut le lire directement. Revenons donc
au fichier Python. Mais avant de
tuer le terminal et revenir au fichier point
Pi de l'application, je vais importer
un autre module,
et je vais importer le
hashlptiImport hashlip C'est un module intégré de Python. Et maintenant, nous devons créer
une fonction qui va convertir le mot de passe en hachage Je vais taper
une seule
fonction de commande pour hacher le mot de passe Ici, je vais taper le mot de passe de hachage
Dave, et dans les Runbres, je
vais passer le mot de passe Ensuite, dans cette fonction, je veux retourner, retourner, et je vais taper hash
leave, hash leap point, et ici je vais
utiliser H Haha 256 Dans la Runress, je
vais transmettre le mot de passe. Encodage par points du mot de passe, encodage par
points du mot de passe et sens rond. Après le type point, méthode de synthèse de
Higgs. méthode d'encodage par points du mot de passe convertit la chaîne du mot de passe
en octets car hashlib fonctionne en octets
et hashlib H 256 crée un objet de hachage HH 56 à
partir de l'octet du mot de passe et
ig digest renvoie le hachage sous forme de flux hexadécimal
lisible au lieu d' Je vais utiliser cette fonction de
hachage des mots de passe pour copier cette fonction. Je vais
l'utiliser lors de mon inscription Donc, chaque fois que je le signe, je vais remplacer ce
mot de passe par le HashLFod Définissez le nom d'utilisateur de l'utilisateur égal à
ce mot de passe de hachage. Cette fonction possède un mot de passe. Il va stocker le
mot de passe au format de hachage. De plus, je vais appeler
la même fonction de hachage du mot de
passe chaque fois que je me connecte Ici, après avoir chargé l'utilisateur, je vais définir
une variable appelée
hast égale à hast égale fonction de
hachage du mot de passe
et nous passons le mot de passe,
et je vais
remplacer le mot de passe par le hachage de hachée Et je vais configurer ce fichier. Maintenant, après avoir défini ce fichier
avant d'exécuter ce code, je vais passer aux paramètres de
l'interface graphique. Je souhaite supprimer cette option car cette fois
dans notre champ de saisie, je souhaite afficher mon mot de passe
et redéfinir le fichier. Après avoir défini le fichier,
si j'exécute mon code dans mon terminal et que je
transmets le nom d'utilisateur Ad AD WAN,
je vais définir le mot de passe A est 12 WQ et j'
essaie de réussir l'inscription Après avoir appuyé sur s'inscrire, une erreur de décodage Json est
écrite. Je pense qu'il y a un problème
avec le décodage JSON, nous devons
donc résoudre ce problème Essayons de le réparer. Pour résoudre le problème
dans cette condition P, je vais utiliser le mot clé ou, Hem to use ou operator, et je dois définir une autre condition
ou point pdpoint gate Size, le fichier
utilisateur égal
à zéro. Si le fichier est complètement vide, créez ce fichier JSON. Dans notre méthode load user,
nous devons également gérer
la même erreur. Ici, nous devons gérer
l'erreur de fichier vide. Pour cela, je vais égaler
si le point d'Os Perth obtient la taille, le fichier
utilisateur
égal à vide, si le fichier de descripteur est vide, alors je veux revenir,
renvoyer un objet vide. Renvoie un objet vide. Je
souhaite configurer ce fichier. De plus, dans la fonction open, je vais utiliser Tribloc Essayez à l'intérieur de ce bloc de tri. Je veux y retourner. J'ai coupé
cette partie et à l'intérieur du tribloc, je veux renvoyer des charges mathématiques à chargement par points
JSON C'est la base ronde,
je vais passer le pointeur de fichier si alors
dans notre bloc except, sauf ici, je veux imprimer l'erreur du décodeur
JSON Pour gérer le fichier corrompu, je dois passer le point
JSON DecoDeceError, error et à l'intérieur,
je vais revenir Retournez, je veux
renvoyer un objet vide, et je vais définir le fichier. Je vais également
apporter quelques modifications à la fonction de sauvegarde de l'utilisateur. Ici, je vais ajouter IndiantFour Indian Four,
et je vais définir ce fichier Voyons maintenant si cela a fonctionné correctement ou non
après avoir défini ce fichier.
Si j'exécute ce code
dans mon terminal
et que j' essaie de mettre quoi que ce soit, supposons en ajouter un. Ajouter un est mon nom d'utilisateur et dans
notre champ de mot de passe, je tape QW 12 as et j'
essaie de m'inscrire, comme vous pouvez le voir, compte
créé avec succès. J'imprime le compte
créé avec succès. je vous montre mon JSON, laissez-moi vous montrer mon JSON. Maintenant, vous pouvez voir qu'il est
écrit sur notre nom d'utilisateur. Mais dans le mot de passe, il était
écrit le code de hachage. Maintenant, si j'essaie de me connecter, avec le même nom d'utilisateur
et le même mot de passe, si j'essaie de me connecter maintenant, vous pouvez
voir Imprimer le message de bienvenue en ajouter un. De même, si nous
ajoutons un autre nom d'utilisateur tel que Nerve and Sit Password, QWERT et 12345, ce mot de passe et que nous essayons de nous
inscrire comme vous pouvez le voir, compte est créé
avec succès pour RAR,
il enregistre ce mot de passe, ce hashcode Si j'essaie de me connecter avec le
même mot de passe et le même nom d'utilisateur, vous pouvez
maintenant voir
Pre-Welcome Uno, ce qui signifie que nous pouvons nous connecter au
compte avec succès. Si j'utilise le même nom d'utilisateur et même mot de passe pour me réinscrire, vous pouvez
maintenant voir le message
d'avertissement. Le nom d'utilisateur existe déjà. Si je change le mot de passe, il
indiquera toujours que le
nom d'utilisateur existe déjà. J'espère donc que vous comprenez
maintenant comment
utiliser le hachage de mot de passe pour stocker le mot de passe au format blanc Merci d'avoir regardé cette vidéo Restez connectés pour notre prochain projet.
58. avec un mini moteur de recherche GUI: Bonjour, les gars, c'est bon
de vous revoir. Encore une fois, je suis de retour
avec un nouveau projet. Et aujourd'hui, dans ce projet,
nous allons créer ce mini-outil graphique pour
moteurs de recherche. Vous pouvez donc voir que nous
avons une barre de recherche. Si nous recherchons une requête, supposons l'Inde et
appuyons sur le bouton Rechercher, vous pouvez voir qu'elle renvoie
dix résultats depuis le site Web. Il imprime également la description
fournie par le site Web. Il imprime d'abord le
numéro d'index, puis le titre. En outre, il imprime la description. Et vous pouvez remarquer que ces
liens sont cliquables. Vous pouvez également remarquer que nous avons un soulignement si vous
souhaitez en savoir plus. Si vous cliquez sur cette section, elle sera redirigée
vers ce lien. Laisse-moi te montrer. Donc,
si je clique dessus, il sera redirigé
vers ce site Web C'est donc ce que nous allons construire aujourd'hui dans ce projet. Et dans notre boîte de résultats, nous affichons
ici un
total de dix résultats. Et c'est à vous de décider du nombre de
résultats que vous souhaitez afficher. Voyons donc comment
créer ce projet. Dans ce projet, nous
allons en apprendre davantage sur le web scrapping avec l'
aide de Beautiful Alors, comment pouvons-nous envoyer une
demande de publication à un site Web, comment pouvons-nous extraire les données, comment nous pouvons
les purifier, etc. Commençons donc. Comme vous pouvez le voir, nous sommes
dans l'éditeur de code de mon studio, et comment je crée une application de fichiers
Python point Pie. Dans un premier temps, je vais importer
les modules importants. Tout d'abord, je vais importer le module
Kinter en tant que type TK, saisir Kiner en tant que Ensuite, à partir du module Kinter, je vais importer du texte
défilé Donc, pour taper depuis
Kiner depuis Kiner, je vais importer du
texte défilant car dans notre zone de texte, nous avons besoin de ce défilement mais
pour faire défiler la page Après cela, je vais importer un autre module appelé request, type de demande d'importation. Nous utilisons ce module pour
envoyer des requêtes HTTP. Ensuite, je vais
importer un autre module. Et mon module lemme est une belle soupe. Je vais donc nouer
ici. De BS Four importe
Beautiful Soup. À l'aide de ce module,
nous analysons le SDML. Il est utile d'extraire la description des liens
de
titre des pages Web. Et enfin, je vais
importer un module de navigateur Web, un certain type, importer un navigateur Web. Grâce à ce module, nous pouvons ouvrir des liens dans le navigateur
par défaut de l'utilisateur. Ensuite, je vais
définir une fonction, et le nom de notre fonction est tel, un certain type, Dave search. Et pour l'instant, dans
cette fonction, je vais taper pass. Je ne vais
rien faire ici pour le moment. Ensuite, je vais
passer à la configuration de l'interface graphique. Je vais créer un objet
racine en utilisant TGass. Je tape donc une racine égale à t TK. Maintenant, pour créer l'objet racine, je vais démarrer la boucle de l'interface graphique pour taper
root point mainloop Créons maintenant la
structure de l'interface graphique étape par étape. Dans un premier temps, je vais
attribuer le titre, et je vais définir le titre root point title Mini
search engine. Ensuite, je vais
définir la géométrie. Je souhaite définir
la taille de la fenêtre pour cette géométrie du point racine de type vent avec 700 X 500 signifie une hauteur de 500. Après avoir créé la géométrie, je vais créer
une barre de recherche. Pour cela, je vais d'abord
prendre l'entrée de l'utilisateur. Je vais donc taper une entrée égale à la
classe d'entrée à points t et dans le Runss, je vais placer cette classe d'entrée
dans la fenêtre racine, et je vais dire l'
antenne de police et la taille de police 14 Ensuite, je vais emballer
à la ligne suivante, je vais emballer cette entrée. Je vais remplir
le champ de saisie. Je suis donc ici en train de taper la méthode Entry
Dot Pack. Et à xs, j'ajoute un
rembourrage de dix pixels à Xxs, j'
ajoute également un rembourrage de dix pixels mais je
remplis ce champ de saisie Cela va donc
prendre toute la largeur de cette application.
Laisse-moi te montrer ça. Donc, après avoir défini ce fichier, si
je lis du code dans mon terminal, voici à quoi ressemble notre
application. Voici notre fil d'entrée. Ensuite, je vais créer un bouton de recherche pour
cette barre de recherche. Ici, je vais
taper le bouton de recherche, le bouton soulignement égal à la classe de bouton tk point, le bouton Tkt Et je vais
placer ce bouton dans la racine de la fenêtre racine. Et le texte de mon bouton est du texte, et je vais définir la recherche par texte du
bouton , la
commande, et il va
commander cette fonction, la recherche. Je vais également définir la
police Aerial sur notre bouton de recherche. Pour cela, je vais
taper police aerial. Et j'utilise une police de 12 pixels. Ensuite, je vais
emballer le bouton de recherche. Je vais taper le bouton de
recherche, la
méthode du pack de points du bouton de recherche. C'est ça. Nous avons maintenant la barre de recherche. Nous avons également le bouton de recherche. Ensuite, je vais
créer la boîte de résultats. Ici, je vais montrer les
URL et la description. Pour cela, je vais taper
une seule case EncominRsult, et nous devons également
déplacer cette ligne au-dessus de
la zone de résultats car
cette ligne la zone de résultats car est destinée Ici, nous intégrons le bouton de recherche. Pour afficher le résultat ici, je vais définir une zone de soulignement de résultats, une boîte de
résultats, une boîte de résultats très bien appelée « résultats, une boîte de résultats Scroll text
point, scroll text method Comme vous pouvez le voir, nous
importons déjà ce module ici, faisant défiler le texte depuis Kinter
Import, Scrollix Ensuite, à l'intérieur du
rond***, je vais placer cette boîte de résultats dans
notre fenêtre racine. De plus, j'utilise rap égal à t rep, et j'utilise une taille de police 11, et notre famille de polices est aérienne Ensuite, je vais
emballer cette boîte de résultats. Pour ce type de méthode Result
Box Dot Pack, et à la place pour me déshabiller chez
XXS, j'utilise un rembourrage de dix pixels Chez YXS, j'utilise également rembourrage de
dix pixels et je veux remplir les
deux directions J'utilise donc Tiger à la fois. Il a rempli la zone
à XX, également dans les Yx, et s'est étendue de manière
égale à
la Donc, si je change la taille
de notre application, elle remplira
tout
de même la zone. Et si je définis ce fichier et que exécute ce code dans mon
terminal après 70 fichiers, si j'exécute ce code, si j'exécute
ce code dans mon terminal, voici à quoi cela ressemble. Si j'élargis la zone,
vous pouvez toujours voir qu'elle se sent
dans la zone de texte défilant. Il s'agit de la mise en page simple que
nous avons créée pour afficher le résultat de la recherche. C'est notre barre de recherche
où l'utilisateur va
placer la requête et nous
avons le bouton de recherche. Si j'appuie sur le bouton de recherche, il trouvera la
demande sur le site Web, et selon
le résultat du site Web, il imprimera tous
les résultats un par un. En gros, nous allons imprimer un total de dix résultats dans
cette zone de texte de promenade. Voilà pour ce tutoriel. Merci d'avoir regardé
cette vidéo,
restez à l'affût
de la prochaine partie de ce didacticiel, où nous allons
travailler sur notre fonction, dont le nom est la recherche. Merci donc d'avoir regardé
cette vidéo Sytune.
59. Travailler sur la fonction de recherche: Nous devons maintenant travailler
sur cette fonction. Chaque fois que l'utilisateur clique sur
ce bouton de recherche, je souhaite exécuter la fonction. Dans un premier temps, nous devons obtenir l'entrée de l'utilisateur à partir de ce champ de
saisie. Cette variable. Je vais donc supprimer les requêtes de type
pass et helm,
requête égale au point d'entrée G Math. Ensuite, je vais
définir la condition IP. Si ce n'est pas une requête, alors dans
cette condition IP, ici, je vais taper return. En gros, il pourrait lire le texte de l'
entrée de la zone de saisie. S'il est vide, il va
directement
arrêter l'exécution. Ensuite, nous devons
effacer l'ancien résultat et afficher le texte de recherche. Pour cela, ici, je vais taper la zone
de
résultat, la méthode de suppression des points de la zone de
résultat, dire Je veux supprimer du début de la
position de départ à la position de fin. Pour cela, nous devons sélectionner 1.0. Il va définir
la position de départ, puis je vais
taper ttk dot method Cela va effacer
cette zone de résultats de recherche. Revenons maintenant
au code. Pour ne pas effacer la zone de recherche, je souhaite afficher la requête de recherche en
cours dans cette zone de résultats. Pour cela, je tape la boîte de
résultats point Insérer. Et je veux commencer par la
fin du texte. Ici j'utilise Estring et je donne des conseils pour
rechercher notre requête Puis la barre oblique inverse N pour les nouvelles lignes. Ensuite, je vais
préparer les données d'URL. Pour cela, je vais
utiliser le site Web de DDG, et je vais utiliser
la version TML de DG Je vais donc taper
une URL variable,
URL égale à la barre oblique deux-points
slam.dog.com SlashMlas de DPS Il s'agit de la
version GETML pour les scripts. Nous allons donc envoyer la
demande sur ce site Web. Ensuite, nous devons
faire semblant d'
utiliser un navigateur. La demande est envoyée
depuis un navigateur. Pour cela, nous
devons définir l'en-tête. Je vais donc taper des en-têtes, des
en-têtes égaux à inside the carnivorouss,
l'
utilisateur ne l'est pas, et la Il va prétendre que la demande
provient d'un navigateur. Cela permet d'éviter le
blocage par le site Web. Ensuite, nous devons enregistrer la requête de recherche dans
un format de dictionnaire. Pour cela, ici,
je vais taper des
données égales à celles contenues dans le Kaliss Ici, j'utilise un dictionnaire et la clé du dictionnaire est Q
et la valeur est query. Ce paramètre Q est utilisé par Dan Taco et nous
stockons ici la requête de recherche dans
un format de dictionnaire Ensuite, nous devons
envoyer le StdprQuest. Pour cela, nous allons
utiliser post Math hoop, et ici nous devons
indiquer trois paramètres,
l'URL, les en-têtes et les données La somme des réponses est égale à
la méthode request point post. Et à l'intérieur de
la boucle, je transmettrai les données URL et l'en-tête En l'utilisant, nous envoyons ici la demande de
publication au serveur. De plus, nous récupérons la réponse de l'
estimation et nous l'avons stockée dans cette
variable au format texte. Maintenant, si j'imprime le
résultat dans une zone de résultat, je suis ici en train de taper, si j'imprime la réponse, tapez case de résultat point insert. Et pendant la pause de course, je vais commencer par
la fin et ici, en utilisant Fstring dans la presse Cali, je veux imprimer les Donc, quelle que soit la réponse que
nous obtiendrons, nous l'imprimerons
dans ce champ de recherche, et je vais définir ce fichier. Après avoir défini ce fichier,
si j'exécute ce code dans mon terminal et que je
recherche notre requête, comme tout ce que vous pouvez
rechercher, Python,
langage, et que j'appuie sur Entrée, vous remarquerez que
la structure d'estimation
sera imprimée dans son intégralité. Laisse-moi te montrer. Donc, une fois
que j'ai appuyé sur le bouton de recherche, vous pouvez voir qu'il imprime la
structure complète des estimations avec les balises, et ça a l'air très bizarre Nous avons les titres, les
tags, les résultats, tout ce qu'il
imprime dans cette boîte. Maintenant, nous devons également le
filtrer. Nous devons l'embellir. Pour cela, je vais utiliser une belle soupe pour
analyser le contenu Nous allons donc convertir le HTML
brut en un format
structuré Donc pour l'instant, je vais commenter cette ligne. Nous n'en avons pas besoin. Et voilà, je vais vous
transmettre le contenu. Je vais donc créer
une soupe objet en forme de soupe, soupe égale à une belle soupe. Dans le cadre du
processus du tour, je vais transmettre le texte lui-même, donc Hay tape le texte du point de réponse. Et j'utilise cet
analyseur, l'analyseur t point. Il est maintenant très facile d'
extraire l'élément. Ensuite, nous devons trouver tous les
éléments profonds avec le résultat de classe. Ici, je vais définir
une variable appelée résultats,
résultats égaux à la méthode finale du
sous-point. Et à l'intérieur de l'évidement rond, je veux cibler tous
les éléments profonds J'utilise donc le deep tag. Je passe donc Dev. Il va cibler
toutes les balises profondes. Mais dans notre page, il
y a beaucoup de balises profondes, mais surtout, je
veux cibler la classe de résultats. Je veux cibler une
balise profonde avec une classe de résultat, donc je définis un
soulignement de classe égal au résultat, et nous l'avons stocké dans
cette variable de résultats Maintenant, si j'imprime cette valeur de résultat dans notre champ de
recherche à partir de type, point de résultat inséré, ici, je vais imprimer les résultats de la
variable de résultat, définir ce fichier et exécuter ce code dans mon terminal et dans
notre mot de recherche, si je tape quelque chose,
supposons du HTML. Vous voulez rechercher une table
et appuyer sur le bouton de recherche. Vous pouvez maintenant le voir
renvoyer le résultat. Il renvoie le résultat, mais cette fois il
va être imprimé, il ne ciblera que le
deep dag avec le résultat de la classe. Il ne cible pas les autres. Il va renvoyer
toutes les zones d'éléments qui ont cette classe. Et à l'intérieur de cet
élément profond, vous pouvez voir qu'il y a un autre
élément profond, H par élément. Nous avons ici l'ancre
avec les résultats du cours A. Elle contient le titre,
ainsi que le lien, le lien du site Web. Vous devez donc cibler cette
classe avec l'élément. Et pour épingler la description
fournie par le site Web, nous devons cibler les résultats de la classe
Snip, celle-ci Nous allons donc le faire
dans la prochaine partie de ce tutoriel avec
l'aide de for Loop. Donc, un par un, je
vais cibler tous les liens fournis
par ce site. Et c'est à vous de décider
combien de résultats vous souhaitez placer dans cette zone de résultats,
dans cette zone de recherche. Merci donc d'
avoir regardé cette vidéo, restez connectés pour la prochaine
partie de ce didacticiel.
60. Affichez le résultat dans une zone de texte: Salut, les gars, c'est bon de vous revoir. Il s'agit d'une autre partie et de la
dernière partie de ce didacticiel. Et là, je vais
faire un suivi. Pourquoi devons-nous effectuer un suivi ? Parce que nous ne devons
cibler que dix résultats. Nous devons cibler
uniquement un élément de dix dB, le premier élément de dix dB. Et nous devons imprimer le lien, balise de
titre et la description. Pour cela, nous
devons utiliser cette boucle. Certains types de I aboutissent
à une fonction d'énumération. Ensuite, dans le Rundrass, à partir
des résultats,
j'utilise la technique du tranchage, la technique du découpage
des listes Et à partir de là, je
cible les dix résultats. Et là, je commence
par le premier résultat. N'oubliez pas que je représente le numéro d'
index et le résultat représentent
chaque bloc de recherche. Maintenant, vous vous demandez peut-être pourquoi nous utilisons la fonction d'énumération La fonction Enumerate
ajoute un index. Je veux dire que cela va ajouter un numéro d'index à
chacun des éléments. Chacun des résultats de recherche. Cela fonctionnera comme un compteur. Ensuite, à partir du résultat de la recherche, je vais cibler
la balise de titre. Mais avant, je vais
commenter cette ligne pour le moment, je n'en ai pas besoin. Et dans cette boucle for,
je vais cibler
la balise title en utilisant le nom de
la balise, ainsi que la balise
avec une classe particulière. La balise de titre Samotag est égale
au point de résultat Find. Et en utilisant une méthode fine, nous allons trouver
toutes les balises d'ancrage et
la
balise d'ancrage particulière qui ont exactement
la même classe, sous-code de
résultat A,
et de la même manière, nous devons trouver la description Je vais donc maintenant
cibler le tag Snippet. Pour cela, je vais taper
une balise d' extrait de code variable égale
à la méthode result point find Et ici, je vais
cibler la balise d'ancrage
et la balise d'ancrage avec ce résultat de classe, soulignement,
soulignement, couper Ensuite, à partir de cette balise de titre, je vais extraire
le titre et la fuite. Oui, cette balise contient le
titre et le lien. Donc, pour extraire cela ici, je vais définir
une variable appelée title égale à title
tag point gate text. Donc, en utilisant le texte Gate, nous allons obtenir le texte
de la balise title. Avec cela, nous devons également définir une condition p pour gérer
les données manquantes. Pour cela, je vais taper
if title tag no title. Si aucun titre n'est
disponible dans cette balise, vous allez imprimer
le titre comme aucun titre. Maintenant, après avoir extrait le
titre de cette balise de titre, nous devons extraire le
lien de la balise de titre. Pour cela, ici, je vais
taper link égal à from title tag,
title tag à l'intérieur des
crochets, l'intérieur du bris carré
à l'intérieur du double cours, je veux cibler l'attribut Ici, je vais cibler
l'attribut appelé HREA qui va
contenir le lien exact Tapez donc HREF et définissez
également la
condition I de la balise de titre, sinon, elle imprimera
hastexg S'il n'y a pas de lien, le tag has sera
imprimé. Ensuite, nous devons extraire la description de
la balise snippet. Pour cela, je vais le couper de manière
équivalente à snipitag équivalente à snipitag Et ici je dis que je conditionne si Snippy balise autre qu'aucune description S'il existe une balise snippy, elle imprimera le texte de
la balise Snip, et s'il n'y a pas de texte de balise
snippy, elle n'
imprimera aucune description Ensuite, un par un, je vais
imprimer le lien du titre et la description dans
notre boîte de résultats. Donc, ici, je vais
cibler la méthode d' insertion de
points dans la boîte de résultats. Et ici on insère le titre. Nous allons
commencer par la fin, et en utilisant la chaîne E, j'imprime d'
abord le
numéro d'index de ce résultat, puis j'imprime le
titre de ce résultat. Ensuite, j'utilise une nouvelle
ligne pour l'espace, et ici vous pouvez remarquer que nous utilisons une balise de titre, car
en utilisant cette balise, plus tard, je vais
styliser ce texte, le texte de ce titre. Ensuite, je vais
imprimer le lien. Ensuite, je vais également imprimer
l'extrait. Maintenant, après avoir fait cela, définissez le fichier et
exécutez ce code dans mon terminal pour voir
s'il fonctionne correctement ou non. Nous avons presque terminé. Je
vais donc rechercher une requête. Dans notre cas, je vais
rechercher le nom de mon pays,
l'Inde, appuyer sur Entrée,
puis sur le bouton Rechercher. Ensuite, comme
vous pouvez le voir, il renvoie un résultat de
recherche pour l'Inde. C'est notre requête,
voici notre titre, voici le lien, et c'est le lien fourni par
le moteur de recherche. Et c'est la description
fournie par ce site Web. Et comme vous pouvez le constater, chaque fois
qu'il imprime le numéro d'index, il fonctionne comme un compteur, et il imprime un total de dix résultats dans notre boîte de résultats, car nous avons mentionné d'imprimer
dix résultats dans notre boucle. Nous devons maintenant rendre
ce lien cliquable. Pour cela, revenons
au code car si
je clique sur ce lien, je veux ouvrir le
lien dans mon navigateur. Revenons donc au code. Je veux donc rendre
le lien cliquable. Et pour ce faire, nous avons
d'abord besoin de l'
index de départ et de l'index de fin. Pour obtenir la position du lien, nous avons besoin d'un index de début
et d'un index de fin. Je vais donc définir
l'indice de départ égal à ici, je vais cibler la boîte de
résultats à partir de la boîte de résultats, l'index des points, l'index. Ensuite, à l'intérieur de la cavité
ronde,
je vais d'abord taper pk dot insert Celui-là. Maintenant, qu'est-ce que
cela va représenter ? insert Pdot représente la
position actuelle du cursel dans la case à cocher Et pour revenir en arrière, ici, je vais utiliser le
signe de concaténation et Concaténer avec les codes doubles à
l'intérieur. À l'intérieur des codes doubles, ici, je vais extraire
la longueur du lien. Donc, à l'intérieur du Cariss, je vais utiliser la fonction
N AE
N, N, et dans l'évidement
rond, je vais transmettre le
lien variable link C'est ça. Supposons que notre fuite comporte
19 caractères et, comme je vous l'ai dit,
nous devons revenir en arrière car nous
sélectionnons ici la
position finale de ce lien. Je vais donc utiliser le signe
moins moins la longueur de ce lien. De plus, après Calibrass, je
vais utiliser un personnage appelé small C.
Maintenant, c'est quoi ça ? Il s'agit essentiellement d'une syntaxe Kiner
spéciale. Si nous utilisons le signe plus sinusoïdal, cela va aller de l'avant. Et si nous utilisons moins le sinus, cela va
revenir en arrière. Et ici, nous définissons la longueur,
le caractère, le nombre de
caractères que nous avons dans ce lien Supposons que si nous avons 19
caractères dans ce lien, à partir de maintenant, il va reculer de 19
caractères. Et c'est
exactement ce que nous utilisons dans ce code. Nous avons donc maintenant la position de départ de
cette avance à ce moment-là. Maintenant, nous avons également besoin
de la position finale. Pour cela, tapez simplement index, indice soulignement égal à l'index point de la
boîte de résultats , insert de point
ticker Il va extraire
la position finale. Ensuite, nous devons appliquer une
balise à la plage de texte. Pour cela, je vais taper le résultat Box point at tag method. Boîte de résultats point sur étiquette à
l'intérieur de la Runress. abord, nous devons
fournir un nom de balise, et comme nom de balise, je vais utiliser le nom du
lien lui-même, puis nous devons définir
la position de départ,
l' index de départ, et je
transmets l'
index de départ d'un lien. Nous transmettons également l'
index final d'un lien. Ensuite, je vais ajouter
un événement à ce lien, et je vais
utiliser un événement de clic. Pour cela, je vais taper la boîte de
résultat Tt, tag, bind. Ensuite, à l'intérieur des
lacets, je vais taguer
Link Link lui-même. Et avec une virgule ici
je vais utiliser, et ici je vais
utiliser le clic droit de la souris Pour cela, à
l'intérieur des codes doubles, je vais utiliser ce code. Bouton 1. Ensuite, à une virgule, j'utilise
ici une
fonction à une ligne Lambda,
Lambda E. Et ici j'utilise le bouton 1 du code d'
événement C'est pour un clic de souris. Donc, si je fais l'éloge du
clic sur ce lien, cela
activera cet événement. Ensuite, j'utilise une courte fonction
anonyme. Il s'agit d'une petite fonction au lieu
d'utiliser un gros code de programmation. Et ces fonctions s'exécutent
lorsque nous cliquons sur ce bouton. Et dans cette fonction, nous représentons l'objet de l'événement. L'imprimante appuie automatiquement
dessus lorsque les événements se produisent. Nous ne l'utilisons pas ici,
mais il doit être inclus. Et puis vient la partie la
plus importante. URL égale au lien. Cela a entraîné le
problème courant de Python appelé retard de liaison. Dans le cas contraire, tous les clics n'
ouvrent que le dernier lien. Cela n'ouvrira pas
le lien exact lui-même. Ici, je tape une URL égale
à link, colon, webbrowser dot Open method, et je vais
ouvrir l'URL elle-même. Désormais, chaque Lambda stocke sa
propre copie du lien, et c'est le
bon comportement Chaque résultat a ouvert sa propre URL. Et la fonction Web
Browser dot open it va ouvrir le lien dans
un navigateur par défaut. Ensuite,
je vais styliser le lien en utilisant des méthodes de configuration. Donc, tapez, zone de résultat,
point, tag, config. Et à l'intérieur des lignes arrondies, je vais cibler le lien lui-même, et je vais définir le bleu
au premier plan et
je vais également ajouter le
soulignement vrai Il va donc ajouter le
soulignement de chacun des liens. Il va également
changer de couleur. Nous avons donc presque terminé. Je vais juste personnaliser
cette balise de titre. Je vais appliquer un téléphone un
peu plus audacieux et une police plus grande à ce titre Pour cela, dans cette section, je vais lier la
boîte de résultats à point Tag Config Method. Et je vais
cibler ce tag. Titre, et je vais le
dire couleur de police AL. Et ici, j'ai dit police Aerial, et la taille de police est 12, et j'utilise la
police Boulder. C'est ça. Maintenant, je vais configurer ce fichier et exécuter ce
code dans mon terminal. Après avoir exécuté ce
code dans mon terminal, comme vous pouvez le voir, la fenêtre
s'ouvre. Et je vais rechercher
mon langage Python de requête. Et si j'appuie sur ce bouton de recherche, vous remarquerez
maintenant
qu'il imprime notre résultat. J'imprime tous les titres en police
boulder et tous les liens soulignement et en bleu Et maintenant, si vous voulez
ouvrir l'un des liens, suffit de cliquer sur ce lien, il vous
suffit de cliquer sur ce lien,
et
le lien s'ouvrira dans votre navigateur, dans votre navigateur par défaut. Si vous souhaitez ouvrir
ce lien Wikipédia, suffit de cliquer sur ce lien pour accéder au site Web de Wikipédia. C'est ainsi que cela fonctionne. Et comme je vous l'ai dit, cela donnera
un total de dix résultats. C'est à vous de décider du nombre de
résultats que vous souhaitez afficher. C'est donc tout pour ce tutoriel. Dans ce projet, je crée
une mini-recherche dans Nin GY. En gros, nous extrayons le résultat d'un site Web dans notre cas,
Doug DGG, et nous l'extrayons et l'
organisons en utilisant le mode « soupe »
magnifique En gros, nous utilisons une
petite méthode de bardage Web, puis nous l'embellissons
et imprimons le résultat
dans notre zone de texte Merci d'avoir regardé cette vidéo. Restez à l'affût de notre prochain projet.