So einfach wie möglich eine GUI mit Python erstellen [tkinter edition]

Erstellen Sie für Python eine Benutzeroberfläche mit tkinter, die standardmäßig enthalten ist. Empfangen Sie Aktionen auf dem Operationsbildschirm und verbinden Sie sie mit der Verarbeitung Ich möchte die Hyperparameter des tiefen Lernens selektiv machen, damit auch Leute, die nicht damit vertraut sind, damit spielen können.

Einfachster Code: Fenster starten

import tkinter

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


#Ich werde hier hinzufügen

root.mainloop()

Das Fenster wird gestartet.

Betreiben Sie die Größe mit und ohne Größe Passen Sie die Zeichnungsgröße an die Geometrie an Führen Sie den als root festgelegten Inhalt in der Hauptschleife aus

Auf dieser Grundlage werden wir Gacha Gacha hinzufügen

キャプチャ.PNG

Anordnung der Charaktere


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

aaa.PNG

Überprüfen Sie die Platzierung der Check-Schaltfläche und ob sie aktiviert ist

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="Taste", variabl=cval, command = check)
cbtn.pack()


root.mainloop()

Zunächst mit BooleanVar in den ungeprüften Zustand versetzt Sie können überprüfen, ob es mit get () aktiviert ist. Wenn Sie beim Drücken der Taste eine beliebige Funktion verschieben möchten, geben Sie die Funktion mit dem Befehl an

Mit diesem Code werden jedes Mal Ja und Nein zurückgegeben, wenn ich ihn in der Befehlszeile oder auf dem Notizbuch überprüfe.

dasa.PNG

Positionierung der Drucktasten und Definition der Funktionen, die beim Drücken reagieren

import tkinter
import tkinter.font

def click_btn():
    button["text"] = "Ich klickte"

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


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

root.mainloop()

ffff.PNG

Platzierung der Druckknöpfe mit dem Knopf Definieren Sie eine Funktion, um einen Wert in das Textargument in der Schaltfläche einzufügen Schriftart kann auch angegeben werden

Wenn Sie die Schriftarten überprüfen möchten, die angegeben werden können,

import tkinter.font

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

ddsss.PNG

Die angezeigten Zeichen ändern sich, wenn die Taste gedrückt wird

import tkinter
import random

def click_btn():
    label["text"] = random.choice(["Guten Morgen","Hallo","Guten Abend"])
    label.update()

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

label = tkinter.Label(root, text="Drücken Sie, um hier anzuzeigen", font=("Times New Roman", 15), bg = "white")
label.place(x=10, y=10)

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

root.mainloop()

"Zum Anzeigen hier drücken" ist auf dem Etikett enthalten. Ich möchte eine Funktion ausführen, die das Textargument durch Drücken der Schaltfläche aktualisiert. Geben Sie es daher als Befehl an und lassen Sie es ausführen

5452.PNG

Drücken Sie die Taste und ein Meldungsfeld wird angezeigt

import tkinter
import tkinter.messagebox

def click_btn():
    tkinter.messagebox.showinfo("Ein weiteres Fenster", "Inhalt anzeigen")

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

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

root.mainloop()

hhhh.PNG

Richten Sie einen manuellen Eingaberahmen ein und rufen Sie den Inhalt der manuellen Eingabe mit get ab

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="Nehmen Sie auf, was Sie als Namen der Schaltfläche geschrieben haben", font=("Times New Roman", 15),command = click_btn)
button.place(x = 20, y = 100)

root.mainloop()

fffddg.PNG

Der Eingaberahmen kann mit Entry installiert werden Mehrere Zeilen haben unterschiedliche Funktionen Da der in Eintrag eingegebene Inhalt mit der Funktion get erfasst werden kann, wird er nach der Erfassung in der Schaltflächenanzeige angezeigt.

Erstellen Sie einen Bildzeichnungsbereich und zeigen Sie das Bild an

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

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


image = Image.open("Avocado.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()

Erstellen Sie einen Zeichenbereich mit der angegebenen Größe in der Mitte des Fensters Geben Sie die Position von create_image mit dem oberen linken Rand des Zeichenbereichs als 0,0 an Die Bildmitte wird angegeben

cavas.PNG

Matplot in mehreren Zeichenbereichen anzeigen

Zeichnen Sie mit FigureCanvasTkAgg vom Matplot zum tkinter In der richtigen Reihenfolge angezeigt

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

Verschieben Sie das angezeigte Bild über die Tastatur

Verwenden Sie KeyPress usw., um Tastaturoperationen zu empfangen Ich werde auch versuchen, den Inhalt der Tastaturbedienung zu erhalten

Geben Sie die Bildposition an, indem Sie dem zu verschiebenden Bild ein Tag hinzufügen Die After-Funktion spiegelt die am Ende angegebene Funktion wider, während eine Verzögerung von 1000 = 1 Sekunde verwendet wird.

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("Avocado.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 zum Abrufen der Mausposition

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("Mauseingabe")
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

das ist alles

Ich denke, dass Sie den Eingabeinhalt durch Kombinieren mit Schaltfläche und Eingabe zeichnen und die Funktion im Paket mithilfe des Befehls abrufen können.

[Spieleentwicklung mit 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

So einfach wie möglich eine GUI mit Python erstellen [tkinter edition]
Sie können auch mit Python problemlos eine GUI erstellen
Erstellen Sie mit tkinter eine Python-GUI
Lassen Sie uns eine GUI mit Python erstellen.
[Python] Erstellen mehrerer Fenster mit Tkinter
Erstellen einer einfachen Power-Datei mit Python
Installieren Sie Python als Framework mit pyenv
Erstellen Sie eine GUI-App mit Tkinter of Python
Lösen Sie Optimierungsprobleme mit Quantenglühen auf Python-Basis so einfach wie möglich
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Erstellen Sie eine mit tkinter erstellte ausführbare GUI-Datei
GUI-Bildschneidewerkzeug mit Python + Tkinter
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Dateidialog mit Python-GUI öffnen (tkinter.filedialog)
Ich habe versucht zu erklären, wozu der Python-Generator so einfach wie möglich ist.
Ein * Algorithmus (Python Edition)
Machen Sie einfach einen Piepton mit Python
Erstellen Sie mit Py2app und Tkinter eine native GUI-App
Warum nicht einfach mit Python eine stilvolle Tabelle erstellen?
Probleme beim Erstellen eines CSV-JSON-Konvertierungstools mit Python
[Python] Erstellen Sie mit cx_Freeze eine Verteilungsdatei für das Tkinter-Programm
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Mit Python mit Kelch ganz einfach ohne Server
[Python] Erstellen Sie mit tkinter einen Bildschirm zur Datei- und Ordnerpfadspezifikation
Erstellen von GUI-Tools mit Pyinstaller
[GUI in Python] PyQt5-Layout-Management-
Machen Sie eine Lotterie mit Python
Führen Sie Label mit tkinter [Python] aus.
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Erstellen Sie ein Verzeichnis mit Python
[GUI mit Python] PyQt5-Vorbereitung-
Einfach cProfile mit einem Dekorateur
[GUI mit Python] PyQt5 -Paint-
[Kurzer Satz] easygui für diejenigen, die sehr einfach eine einfache GUI mit Python verwenden möchten
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Versuchen Sie, mit Python (1) eine Erfassungssoftware zu erstellen, die so genau wie möglich ist.
[Python] Was ist eine with-Anweisung?
Verwenden Sie Pymol als Python-Bibliothek
Löse ABC163 A ~ C mit Python
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
[GUI mit Python] PyQt5 -Widget II-
Erstellen eines bestimmten Baums mit Scikit-Learn
Erstellen eines Flask-Servers mit Docker
Implementieren Sie einfach Unterbefehle mit Python-Klick
Löse ABC166 A ~ D mit Python
Einfache Handhabung von Listen mit Python + SQLite3
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe mit Python eine Lotterie gemacht.
[GUI mit Python] PyQt5-Der erste Schritt-
Erstellen einer virtuellen Umgebung mit Python 3
Einfache GUI App mit Tkinter Text
[GUI in Python] PyQt5-Drag & Drop-