[Python] Essayez d'utiliser le canevas de Tkinter

introduction

Le langage Python possède une boîte à outils appelée "Tkinter" qui crée des interfaces par défaut. Ce Tkinter est pratique car vous pouvez créer une interface graphique simple sans ajouter de plug-ins inutilement, mais il n'y a pas de site d'explication. Donc, je voudrais résumer les parties que j'ai recherchées au besoin.

À propos de Tkinter

J'ai écrit les bases dans Essayez d'utiliser Tkinter de Python, donc si vous êtes intéressé ** s'il vous plaît. Je vais l'écrire pour pouvoir le créer sans le lire.

Essayez d'utiliser Tkinter

Comment utiliser Tkinter facilement. Pour plus d'informations, veuillez le vérifier vous-même ou lire "Essayez d'utiliser Tkinter de Python".

Python


#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter

#
#Paramètres de l'interface graphique
#
root = Tkinter.Tk()
root.title(u"Essayez d'utiliser le canevas de Tkinter")
root.geometry("800x450")   #Taille de la fenêtre (spécifiée par "largeur x hauteur")



#
#Fin de l'interface graphique
#
root.mainloop()

Essayez d'utiliser le canevas de Tkinter

L'histoire principale commence ici. Je vais l'écrire pour qu'il fonctionne avec une copie de base, mais comprenez bien que je ne toucherai pas autant aux bases de Tkinter. Pour plus d'informations, veuillez le vérifier vous-même ou lire "Essayez d'utiliser Tkinter de Python".

Définition de la toile

Canvas est écrit en traitement GUI comme les autres objets de Tkinter (boutons, entrées, etc.). Veuillez consulter l'exemple réel.

Python


#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter

#
#Paramètres de l'interface graphique
#
root = Tkinter.Tk()
root.title(u"Essayez d'utiliser le canevas de Tkinter")
root.geometry("800x450")

#Zone de toile
canvas = Tkinter.Canvas(root, width = 800, height = 450)

#Reliure en toile
canvas.place(x=0, y=0)


#
#Fin de l'interface graphique
#
root.mainloop()

Cela a créé un canevas 800px * 450px et l'a placé à (x, y) = (0,0).

En tant que contenu, canvas = Tkinter.Canvas(root, width = 800, height = 450) La toile est créée par ce processus canvas.place(x=0, y=0) Le canevas est placé sur l'écran par ce processus.

Je pense que c'est difficile à comprendre avec juste ça, alors canvas.create_rectangle(0, 0, 800, 450, fill = 'green', stipple = 'gray25') Je vais mettre.

Python


#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter

#
#Paramètres de l'interface graphique
#
root = Tkinter.Tk()
root.title(u"Essayez d'utiliser le canevas de Tkinter")
root.geometry("800x450")

#Zone de toile
canvas = Tkinter.Canvas(root, width = 800, height = 450)#Créer un canevas
canvas.create_rectangle(0, 0, 800, 450, fill = 'green')#remplir

#Reliure en toile
canvas.place(x=0, y=0)#Placement de la toile


#
#Fin de l'interface graphique
#
root.mainloop()

Si vous exécutez l'exemple ci-dessus, vous verrez une fenêtre avec une taille de 800px * 450px et un carré vert qui remplit l'écran. スクリーンショット 2015-05-12 11.21.01.png

J'ai ajouté canvas.create_rectangle(0, 0, 800, 450, fill = 'green') En une ligne, cela remplit la partie spécifiée du canevas avec une couleur spécifique.

De cette manière, le canevas créé écrit également le processus du point de création au point de liaison.

Choses qui peuvent être dessinées avec Canvas

Les détails sont décrits dans Introduction à Easy Python / Tkinter, mais voici également une citation.

une fonction La description
create_line() Ligne droite (ligne pliée)
create_oval() ellipse
create_arc() Arc (partie de la circonférence de l'ellipse)
create_rectangle() Rectangle
create_polygon() Polygone
create_image() image
create_bitmap() bitmap
create_text() Chaîne

De plus, nous présenterons quelques options couramment utilisées.

En traitement La description
fill =Couleur Couleur pour remplir l'intérieur
stipple =bitmap Bitmap qui devient un motif lors du remplissage de l'intérieur
outline =Couleur Couleur du cadre
width =largeur Largeur du cadre (la valeur par défaut est 1).0)

Étiqueter des objets (essayez d'effacer après le dessin)

Chaque objet a une "balise". Si vous spécifiez cette balise, vous pouvez l'effacer après le dessin.

Python


#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter

#
#Paramètres de l'interface graphique
#
root = Tkinter.Tk()
root.title(u"Essayez d'utiliser le canevas de Tkinter")
root.geometry("800x450")


#Lorsque le bouton "Dessiner" est enfoncé
def draw(event):
	canvas.create_oval(10, 10, 140, 140, tag="oval")
	


#Lorsque le bouton «Effacer» est enfoncé
def erase(event):
	canvas.delete("oval")
	


#Zone de toile
canvas = Tkinter.Canvas(root, width = 800, height = 300)

#Tracez un cercle
canvas.create_oval(10, 10, 140, 140, tag="oval")

#Reliure en toile
canvas.place(x=0, y=0)



#Bouton "Dessiner"
button_draw = Tkinter.Button(root, text=u'Dessiner',width=15)
button_draw.bind("<Button-1>",draw)
button_draw.place(x=100,y=350)


#Bouton "Effacer"
button_draw = Tkinter.Button(root, text=u'Effacer',width=15)
button_draw.bind("<Button-1>",erase)
button_draw.place(x=350,y=350)


#
#Fin de l'interface graphique
#
root.mainloop()

Quand ceci est exécuté, la fenêtre suivante sera créée. スクリーンショット 2015-05-13 21.03.32.png

Cliquez sur le bouton "Effacer" pour effacer le cercle, et appuyez sur le bouton "Dessiner" pour redessiner le cercle. En ce moment canvas.create_oval(10, 10, 140, 140, tag="oval") Donc, si vous spécifiez l'attribut "tag" pour l'objet que vous dessinez comme tag =" oval ", canvas.delete("oval") Vous pouvez supprimer un objet avec n'importe quel attribut de balise comme celui-ci.

C'est tout pour le moment.

Recommended Posts

[Python] Essayez d'utiliser le canevas de Tkinter
Essayez d'utiliser Tweepy [Python2.7]
Essayez d'utiliser Kubernetes Client -Python-
Essayez Python
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayez d'utiliser l'API d'action de Python argparse
Essayez d'utiliser le module Python Cmd
Essayez d'utiliser LeapMotion avec Python
Essayez d'utiliser Amazon DynamoDB à partir de Python
Essayez d'utiliser Tkinter
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser docker-py
Essayez une formule utilisant Σ avec python
Essayez d'utiliser l'API Kraken avec Python
Essayez d'utiliser Cookiecutter
Essayez d'utiliser PDFMiner
Dialogflow (anciennement: API.AI) Essayez d'utiliser le SDK Python #dialogflow
Commencez à utiliser Python
Essayez d'utiliser des géopandas
Essayez d'utiliser Python avec Google Cloud Functions
Essayez d'utiliser Selenium
Essayez d'utiliser scipy
Python> essayez: / sauf:
Essayez d'utiliser le script de validation Python # 2 On-box de Junos
Essayez d'utiliser Excel en utilisant Python (Xlwings)
Essayez d'utiliser pandas.DataFrame
Essayez d'utiliser le script d'opération Python # 1 On-box de Junos
Essayez d'utiliser django-swiftbrowser
Essayez d'utiliser matplotlib
Essayez d'utiliser tf.metrics
Essayez d'utiliser PyODE
Scraping à l'aide de Python
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Python: essayez d'utiliser l'interface utilisateur sur Pythonista 3 sur iPad
Essayez d'utiliser le framework Web Python Tornado Partie 1
Essayez d'utiliser le module de collections (ChainMap) de python3
Essayez d'utiliser tensorflow ① Créez un environnement python et introduisez tensorflow
Essayez d'utiliser le framework Web Python Tornado Partie 2
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Essayez d'utiliser l'API DropBox Core avec Python
Essayez de gratter avec Python.
Manipuler Redmine à l'aide de Python Redmine
Séquence de Fibonacci utilisant Python
python essayez ~ sauf ~ autre
Essayez d'utiliser virtualenv (virtualenvwrapper)
Nettoyage des données à l'aide de Python
[Azure] Essayez d'utiliser Azure Functions
Essayez Debian + Python 3.4 + django1.7 ……
Utilisation des packages Python #external
Essayez d'utiliser virtualenv maintenant
Câblage Communication Pi-SPI avec Python
Essayez gRPC en Python
Essayez d'utiliser W & B
Calcul de l'âge à l'aide de python
Essayez d'utiliser Django templates.html
[Kaggle] Essayez d'utiliser LGBM
Essayez d'utiliser l'analyseur de flux de Python.
Essayez d'utiliser Tkinter de Python
Rechercher sur Twitter avec Python