Une introduction au logiciel d'interface graphique de la plate-forme de classe fait avec Python / Tkinter! (Et de nombreux Try and Error)! (Au milieu de l'écriture)

Introduction ...

Le titre est long et Sumimasen !!!!! Il est difficile de résumer ce que vous voulez écrire ... Quelqu'un, s'il vous plaît, donnez-moi un brouillon ... (Au fait, cela fait longtemps depuis. Veuillez utiliser la table des matières.) Veuillez également noter qu'il est ** en cours d'écriture **.

Qu'est-ce que Python / Tkinter?

La source:Encyclopédie gratuite "Wikipedia"

Tkinter est une bibliothèque standard (boîte à outils de widgets) pour la construction et l'exploitation d'interfaces graphiques à partir de Python.

Tcl/La partie Tk de Tk est rendue disponible en Python, et Tcl est utilisé autant que possible./Il est fait pour correspondre à Tk.
Cela permet de créer facilement une application avec un écran GUI de Python, qui est un langage de script.

(Ce qui suit est omis) 

Il est écrit sur Wikipedia, mais bon, pour le dire simplement

Bibliothèque de création d'interface graphique fournie en standard avec Python

Est. L'important est "standard". Vous pouvez créer une application simplement en installant python (ou en utilisant Pyinstaller) (sans utiliser d'autres bibliothèques). Si quoi que ce soit, vous pouvez utiliser Pyarmor pour protéger votre code source.

Référence Tkinter

fenêtre

Tout d'abord, importez le module ...

#Avec Python2...
import Tkinter #corps tkinter
import ttk #extension tkinter(?)
#Avec Python3...
import tkinter #corps tkinter
from tkinter import ttk #extension tkinter(?)

Notez que les noms de module sont différents entre Python 2 et 3. En passant, si vous écrivez comme suit, vous pouvez gérer quelques voitures.

try:
    import Tkinter as tkinter
    import ttk
except:
    import tkinter
    from tkinter import ttk

Au fait, "ttk", qui est apparu il y a quelque temps, est une extension (?) De tkinter. Vous pouvez l'utiliser pour changer le style (thème).

Fenêtre principale

Ensuite, créez la fenêtre principale.

root = tkinter.Tk()#Lisez attentivement après cela

Cependant, si cela est laissé tel quel, le nom de l'application dans la barre des tâches sera affiché comme "Tk" sur un système d'exploitation tel qu'Ubuntu, donc ce n'est pas bon.

root = tkinter.Tk(className="[nom de l'application]")

Et.

Sous-fenêtre

sub = tkinter.TopLevel()

Et.

plein écran

root.attributes("-fullscreen", True)

Au retour

root.attributes("-fullscreen", False)

Widget

bouton

def callback():
    print("Hello!!")

button = ttk.Button(root, text="[Texte à afficher]",command=callback)

Pour la commande, spécifiez le ** nom ** de la fonction à exécuter lorsque le bouton est enfoncé. Si vous souhaitez spécifier un argument,

def callback(hogehoge):
    print(hogehoge)

button = ttk.Button(root, text="[Texte à afficher]",command=lambda: callback("Hello!!!"))

Cadre (cadre)

frame = ttk.Frame(root)

Eh bien ... le cadre est utilisé en le plaçant dans la partie racine de la fenêtre et d'autres widgets. Vous pouvez également changer la couleur et la forme si vous le souhaitez. (Je l'ajouterai plus tard.) Un exemple d'utilisation est présenté ci-dessous.

def callback(hogehoge):
    print(hogehoge)

frame = ttk.Frame(root)
button = ttk.Button(frame, text="[Texte à afficher]",command=lambda: callback("Hello!!!"))

Libellé (une ligne de texte non sélectionnable)

label = ttk.Label(root, text="[Texte à afficher]")

Disposition des widgets

Dans tkinter, vous devez ** déployer ** après avoir défini le widget. Il existe trois méthodes de placement.

Méthode d'emballage (pack)

Dans la méthode d'emballage (pack), le widget est placé dans un espace vide de la fenêtre. (vocabulaire...)

[Widget].pack([option])

[Widget] est une instance du widget, (Si vous êtes fou d'instances et de fonctions, veuillez consulter d'autres articles d'introduction sur Python.) Les éléments suivants peuvent être spécifiés pour [Option](peu importe si rien n'est spécifié): ・ Côté Vous pouvez définir dans quelle direction le placer. Valeur configurable: "droite" droite, "gauche" gauche, "bas" en bas, "haut" en haut · Remplir Vous pouvez définir la direction à remplir. Valeur configurable: "les deux" -deux directions Direction "x" -x (verticale?) Direction "y" -y (horizontale?) (Honnêtement, je suis inquiet, alors j'apprécierais que vous puissiez expérimenter et me le dire.) · Ancre Vous pouvez définir où le placer. (Similaire au côté, mais plus spécifique) Valeur configurable: Eh bien ... c'est comme ça. (Cité de ici)   nw --- n --- ne   |      |   w  c   e   |      |   sw --- s --- se · Développer Vous pouvez définir s'il faut remplir lors de la création d'un espace (par exemple, lorsque la taille de la fenêtre change) Valeur configurable:   True or False (C'est à cause de mon esprit que l'odeur gênante est exposée ... c'est vrai ...)

Références etc.

http://www.nct9.ne.jp/m_hiroi/light/python3.html#python3_tkinter

Recommended Posts

Une introduction au logiciel d'interface graphique de la plate-forme de classe fait avec Python / Tkinter! (Et de nombreux Try and Error)! (Au milieu de l'écriture)
Lorsque j'essaie d'exécuter la commande make de Makefile avec os / exec de golang, la deuxième exécution et les suivantes entraînent une erreur.
Que faire si vous exécutez python sur IntelliJ et quittez avec une erreur
Essayez de gratter les données COVID-19 Tokyo avec Python
Essayez de le faire avec GUI, PyQt en Python
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
[Python] J'ai visualisé les paroles d'Arashi avec WordCloud et j'ai essayé de démêler ce que je voulais transmettre aux fans en 20e année de formation.
Système de notation IPynb réalisé avec TA d'introduction à la programmation (Python)
Comment connaître la structure interne d'un objet en Python
[Python] PCA scratch dans l'exemple de "Introduction à la méthode d'analyse multivariée"
Différence de comportement du cadre transparent réalisé avec tkinter dans pyinstaller [Python]
[Introduction à Python] J'ai comparé les conventions de nommage de C # et Python.
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
J'ai fait un package npm pour obtenir l'ID de la carte IC avec Raspberry Pi et PaSoRi
Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
Comment obtenir la différence de date et d'heure en secondes avec Python
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
[Introduction à Python] Une explication approfondie des types de chaînes de caractères utilisés dans Python!
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
[Introduction à Python] Quelle est la méthode de répétition avec l'instruction continue?
Un exemple de réponse à la question de référence de la session d'étude. Avec python.
Essayez de séparer l'arrière-plan et l'objet en mouvement de la vidéo avec OpenCV
Essayez de vous connecter à qiita avec Python
L'histoire d'une erreur dans PyOCR
[CleanArchitecture avec Python] Appliquez CleanArchitecture à une API simple étape par étape, et essayez de comprendre "quel type de changement est fort" dans la base de code.
(Journal 1) Comment créer, parcourir et enregistrer des données dans la base de données SQL du service Microsoft Azure avec python
Une histoire sur un ingénieur qui a remarqué l'émo de la cryptographie et tente de l'implémenter en Python
Je suis un amateur le 14e jour de python, mais je veux essayer l'apprentissage automatique avec scicit-learn
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Je souhaite envoyer Gmail avec Python, mais je ne peux pas en raison d'une erreur
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
J'ai créé une commande appdo pour exécuter des commandes dans le contexte de l'application
Essayez la touche d'un test basé sur les données avec Selenium Python Bindings et py.test
Pour envoyer automatiquement des e-mails avec des pièces jointes à l'aide de l'API Gmail en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Outil de rognage d'image GUI réalisé avec Python + Tkinter
Essayez de résoudre le diagramme homme-machine avec Python
Introduction à Python avec Atom (en route)
Comment utiliser tkinter avec python dans pyenv
Exemple de lecture et d'écriture de CSV avec Python
Utilisez tkinter pour déplacer le code de sortie en tant que "A et prétendant être B" en python
[Python] J'ai créé une application pour pratiquer la délicate distinction vocale des mots anglais.
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Extraire des images et des tableaux de pdf avec python pour réduire la charge de reporting
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
Un moyen simple de remplir le début de 0 en fonction du nombre de chiffres dans le nombre [Python]
Que faire si la commande d'impression elle-même provoque une erreur dans le python de Maya
J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
[Introduction au son] Organisons l'introduction au son de python et de R ♬ -Écoutez le son de l'explosion de Nikkei 255-
[Python] Explique la différence entre strftime et strptime dans le module datetime avec un exemple
[Cloud 9] Essayez de créer un environnement avec django 1.11 de Python 3.4 sans même comprendre 1 mm
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids