Créer une interface graphique aussi facilement que possible avec python [édition tkinter]

Pour python, créez une interface utilisateur à l'aide de tkinter, qui est inclus par défaut. Recevez des actions sur l'écran de fonctionnement et connectez-les au traitement Je veux rendre sélectifs les hyper paramètres de l'apprentissage profond afin que même les personnes qui ne le connaissent pas puissent jouer avec.

Code le plus simple: fenêtre de lancement

import tkinter

root = tkinter.Tk()
root.title("Prends-le")
root.resizable(False, False)
root.geometry("400x200")


#Je vais ajouter ici

root.mainloop()

La fenêtre sera lancée.

Utilisez redimensionnable et non redimensionnable avec redimensionnable Ajuster la taille du dessin avec la géométrie Exécuter le contenu défini en tant que racine dans la boucle principale

Sur cette base, nous ajouterons Gacha Gacha

キャプチャ.PNG

Disposition des personnages


label = tkinter.Label(root, text="étiquette", font=("System",24))
label.place(x=200, y=100)

aaa.PNG

Vérifiez l'emplacement du bouton de contrôle et s'il est coché

import tkinter


def check():
    if cval.get() == True:
        print("yes")
    else:
        print("no")


root = tkinter.Tk()
root.geometry("400x200")


cval = tkinter.BooleanVar()
cval.set(False)

cbtn = tkinter.Checkbutton(text="bouton", variabl=cval, command = check)
cbtn.pack()


root.mainloop()

Initialement défini sur l'état non vérifié avec BooleanVar Vous pouvez vérifier si elle est cochée avec get (). Si vous souhaitez déplacer une fonction arbitraire lorsque vous appuyez sur le bouton, spécifiez la fonction avec la commande

Avec ce code, oui et non sont renvoyés chaque fois que je le vérifie sur la ligne de commande ou sur le notebook.

dasa.PNG

Positionnement des boutons poussoirs et définition des fonctions qui réagissent à l'appui

import tkinter
import tkinter.font

def click_btn():
    button["text"] = "J'ai cliqué"

root = tkinter.Tk()
root.title("title")
root.geometry("400x200")


button = tkinter.Button(root, text="bouton", font=("Times New Roman", 24), command=click_btn)
button.place(x=100,y=100)

root.mainloop()

ffff.PNG

Placement des boutons poussoirs avec Button Définir une fonction pour mettre une valeur dans l'argument de texte dans le bouton la police peut également être spécifiée

Si vous souhaitez vérifier les polices qui peuvent être spécifiées,

import tkinter.font

root = tkinter.Tk()
tkinter.font.families()

ddsss.PNG

Les caractères affichés changent lorsque le bouton est enfoncé

import tkinter
import random

def click_btn():
    label["text"] = random.choice(["Bonjour","Bonjour","Bonsoir"])
    label.update()

root = tkinter.Tk()
root.title("title")
root.geometry("400x200")
root.resizable(False, False)

label = tkinter.Label(root, text="Appuyez pour afficher ici", font=("Times New Roman", 15), bg = "white")
label.place(x=10, y=10)

button = tkinter.Button(root, text="bouton poussoir", font=("Times New Roman", 15),command = click_btn, fg = "skyblue")
button.place(x = 50, y = 50)

root.mainloop()

"Appuyez pour afficher ici" est inclus dans l'étiquette. Je veux exécuter une fonction qui met à jour l'argument de texte en appuyant sur le bouton, alors spécifiez-le comme commande et faites-le exécuter

5452.PNG

Appuyez sur le bouton et une boîte de message apparaîtra

import tkinter
import tkinter.messagebox

def click_btn():
    tkinter.messagebox.showinfo("Une autre fenêtre", "Afficher le contenu")

root = tkinter.Tk()
root.title("Prends-le")
root.resizable(False, False)
root.geometry("400x200")

button = tkinter.Button(root, text="bouton", font=("Times New Roman", 24), command=click_btn)
button.place(x=100,y=100)

root.mainloop()

hhhh.PNG

Configurez un cadre de saisie manuelle et obtenez le contenu de la saisie manuelle avec get

import tkinter

def click_btn():
    txt = entry.get()
    button["text"] = txt

root = tkinter.Tk()
root.resizable(False, False)
root.geometry("400x200")


entry = tkinter.Entry(width=20)
entry.place(x=20,y=20)

button = tkinter.Button(root, text="Imprégnez-vous de ce que vous avez écrit comme nom du bouton", font=("Times New Roman", 15),command = click_btn)
button.place(x = 20, y = 100)

root.mainloop()

fffddg.PNG

Le cadre d'entrée peut être installé avec Entry Plusieurs lignes ont des fonctions différentes Étant donné que le contenu entré dans Entry peut être acquis avec la fonction get, il sera reflété dans l'affichage des boutons après l'acquisition.

Créer une zone de dessin d'image et afficher l'image

import tkinter
import tkinter.font
from PIL import ImageTk, Image

root = tkinter.Tk()
root.title("title")
root.geometry("600x500")


image = Image.open("Avocat.png ")

canvas = tkinter.Canvas(root, width=500, height=400, bg="black")
canvas.pack()

photo = ImageTk.PhotoImage(image, master=root)
canvas.create_image(100, 100, image=photo)

root.mainloop()

Créer une zone de dessin de la taille spécifiée à partir du centre de la fenêtre Spécifiez la position de create_image avec le coin supérieur gauche de la zone de dessin comme 0,0 Le centre de l'image est spécifié

cavas.PNG

Afficher le matplot dans plusieurs zones de dessin

Dessinez de matplot à tkinter en utilisant FigureCanvasTkAgg Affiché dans l'ordre

import tkinter as tk
from pandas import DataFrame
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

root= tk.Tk() 
root.geometry("1500x500")

figure1 = plt.Figure(figsize=(5,5), dpi=100)
ax1 = figure1.add_subplot(1,1,1)
bar1 = FigureCanvasTkAgg(figure1, root)
bar1.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH)
df1 = df.groupby('target').sum()
df1.plot(kind='bar', legend=True, ax=ax1)
ax1.set_xticklabels(labels=df1.index,rotation=45)
ax1.set_title('fig1 title')

figure2 = plt.Figure(figsize=(5,5), dpi=100)
ax2 = figure2.add_subplot(1,1,1)
line2 = FigureCanvasTkAgg(figure2, root)
line2.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH)
df2 = df.groupby('target').sum()
df2.plot(kind='line', legend=True, ax=ax2, color='r',marker='o', fontsize=10)
ax2.set_title('fig2 title')

figure3 = plt.Figure(figsize=(5,5), dpi=100)
ax3 = figure3.add_subplot(1,1,1)
ax3.scatter(df['sepal length (cm)'],df['petal length (cm)'], color = 'g')
scatter3 = FigureCanvasTkAgg(figure3, root) 
scatter3.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH)
ax3.set_ylabel('xlab')
ax3.set_xlabel('xlab')
ax3.set_title('fig3 title')

root.mainloop()

image.png

Déplacer l'image affichée à partir de l'utilisation du clavier

Utilisez KeyPress etc. pour recevoir les opérations du clavier J'essaierai également d'obtenir le contenu du fonctionnement du clavier

Spécifiez la position de l'image en attachant une étiquette à l'image que vous souhaitez déplacer La fonction after reflète la fonction spécifiée à la fin en utilisant un délai de 1000 = 1 seconde.

import tkinter
from PIL import ImageTk, Image

key = ""

def key_down(e):
    global key
    key = e.keysym
    label["text"] = ("your key log = "+ key)

def key_up(e):
    global key
    key = ""

cx = 400
cy = 300

def main_proc():
    global cx, cy
    if key == "Up":
        cy = cy -20
    if key == "Down":
        cy = cy + 20
    if key == "Left":
        cx = cx - 20
    if key =="Right":
        cx = cx + 20
    canvas.coords("MYpicture", cx,cy)
    root.after(100, main_proc)

log=""

def puss(e):
    global log
    log = e.keysym


    
root = tkinter.Tk()

root.bind("<KeyPress>", key_down)
root.bind("<KeyRelease>", key_up)

canvas = tkinter.Canvas(width=800, height=600,bg="lightgreen")
canvas.pack()

image = Image.open("Avocat.png ")
photo = ImageTk.PhotoImage(image, master=root)
canvas.create_image(cx, cy, image=photo, tag="MYpicture")

label = tkinter.Label(font=("System",24))
label.pack()

main_proc()

root.mainloop()

des.gif

Code pour obtenir la position de la souris

import tkinter

mouse_x = 0
mouse_y = 0
mouse_c = 0

def mouse_move(e):
    global mouse_x, mouse_y
    mouse_x = e.x
    mouse_y = e.y

def mouse_press(e):
    global mouse_c
    mouse_c = 1

def mouse_release(e):
    global mouse_c
    mouse_c = 0

def game_main():
    fnt = ("Times New Roman", 30)
    txt = "mouse({},{}){}".format(mouse_x, mouse_y, mouse_c)
    cvs.delete("TEST")
    cvs.create_text(456, 384, text=txt, fill="black", font=fnt, tag="TEST")
    root.after(100, game_main)

root = tkinter.Tk()
root.title("Entrée souris")
root.resizable(False, False)
root.bind("<Motion>", mouse_move)
root.bind("<ButtonPress>", mouse_press)
root.bind("<ButtonRelease>", mouse_release)
cvs = tkinter.Canvas(root, width=912, height=768)
cvs.pack()
game_main()
root.mainloop()

deskk.gif

c'est tout

Je pense que vous pouvez dessiner le contenu d'entrée en combinant avec le bouton et l'entrée, et vous pouvez extraire la fonction dans le package en utilisant la commande.

[Développement de jeu réalisé avec Python](https://www.amazon.co.jp/Python%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B-%E3%82 % B2% E3% 83% BC% E3% 83% A0% E9% 96% 8B% E7% 99% BA-% E5% 85% A5% E9% 96% 80% E8% AC% 9B% E5% BA% A7-% E5% BB% A3% E7% 80% AC-% E8% B1% AA / dp / 4800712394)

How to Place Matplotlib

Recommended Posts

Créer une interface graphique aussi facilement que possible avec python [édition tkinter]
Vous pouvez facilement créer une interface graphique même avec Python
Créer une interface graphique python à l'aide de tkinter
Faisons une interface graphique avec python.
[Python] Création de plusieurs fenêtres avec Tkinter
Créer un fichier power simple avec Python
Installer Python en tant que Framework avec pyenv
Créer une application graphique avec Tkinter de Python
Résolvez les problèmes d'optimisation avec le recuit quantique aussi facilement que possible basé sur Python
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
J'ai créé une application graphique avec Python + PyQt5
Créer un fichier exécutable GUI créé avec tkinter
Outil de rognage d'image GUI réalisé avec Python + Tkinter
Procédure de création d'un LineBot réalisé avec Python
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
Commandes pour créer un environnement python3 avec virtualenv
Facile à créer une application console Python avec Click
Ouvrir la boîte de dialogue de fichier avec l'interface graphique Python (tkinter.filedialog)
J'ai essayé d'expliquer à quoi sert le générateur Python aussi facilement que possible.
Algorithme A * (édition Python)
Faites facilement un bip avec python
Créez une application graphique native avec Py2app et Tkinter
Pourquoi ne pas créer facilement une table élégante avec Python?
Problèmes lors de la création d'un outil de conversion csv-json avec python
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
J'ai fait un jeu de frappe simple avec tkinter de Python
Facilement sans serveur avec Python en utilisant Calice
[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
Création d'outils GUI avec pyinstaller
[GUI en Python] PyQt5-Layout management-
Faites une loterie avec Python
Exécuter Label avec tkinter [Python]
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
Créer un répertoire avec python
[GUI avec Python] PyQt5-Préparation-
Créez facilement un profil avec un décorateur
[GUI avec Python] PyQt5 -Paint-
[Phrase courte] easygui pour ceux qui veulent utiliser une interface graphique simple avec Python très facilement
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
Essayez de créer un logiciel de capture aussi précis que possible avec python (1)
[Python] Qu'est-ce qu'une instruction with?
Utilisez pymol comme bibliothèque python
Résoudre ABC163 A ~ C avec Python
Faites fonctionner l'imprimante de reçus avec python
Manuel de graphisme Python avec Matplotlib.
[GUI avec Python] PyQt5 -Widget II-
Créer un arbre déterminé avec scikit-learn
Créer un serveur Flask avec Docker
Implémentez facilement des sous-commandes avec python click
Résoudre ABC166 A ~ D avec Python
Gérez facilement les listes avec python + sqlite3
Créez un environnement virtuel avec Python!
J'ai fait une loterie avec Python.
[GUI avec Python] PyQt5-La première étape-
Créer un environnement virtuel avec Python 3
Application GUI facile avec Tkinter Text
[GUI en Python] PyQt5-Glisser-déposer-