[PYTHON] Checkliste mit Checkbox Treeview → Texterstellung

Hintergrund der Codeerstellung

Ich wollte eine Liste der für YouTube-Videos verwendeten Geräte in die Erklärungsspalte schreiben. Ist es nicht für jedes Lied anders?

Es wäre einfach, wenn Sie es mit der GUI auswählen könnten! Deshalb. image.png

Ich dachte, es würde lange dauern, den Code zu schreiben, also werde ich ihn teilen.

Entschuldigung

Deshalb konnte ich überhaupt nicht mit dem spielen, was im Unterricht geschrieben wurde. Geben wir unser Bestes. Es ist vielleicht möglich, schöner zu schreiben, aber bitte schließen Sie die Augen.

Überblick

Gehen Sie zu CSV-Lesung → GUI-Anzeige → Überprüfen Sie die zu schneidenden Elemente

Der Fluss.

Code

import tkinter as tk
from ttkwidgets import CheckboxTreeview
import pandas as pd
import pyperclip

def list_to_txt(lis_checked_item):
    '''
"Ich möchte die Liste mit Zeilenumbrüchen in der Zwischenablage speichern!"
Argumente: Liste
    '''
    inst_txt = '\n'.join(lis_checked_item)
    pyperclip.copy(inst_txt)

ttk = tk.ttk
window = tk.Tk()
ct = CheckboxTreeview(window, show='tree') # hide tree headings
ct.pack()

#copy button 
tk.Button(window, text="copy", command=lambda: list_to_txt(ct.get_checked())).pack()

style = ttk.Style(window)

# remove the indicator in the treeview 
style.layout('Checkbox.Treeview.Item', 
             [('Treeitem.padding',
               {'sticky': 'nswe',
                'children': [('Treeitem.image', {'side': 'left', 'sticky': ''}),
                             ('Treeitem.focus', {'side': 'left', 'sticky': '',
                                                 'children': [('Treeitem.text', 
                                                               {'side': 'left', 'sticky': ''})]})]})])

# make it look more like a listbox                                                               
style.configure('Checkbox.Treeview', borderwidth=1, relief='sunken')

# get data
path = "./inst.csv"
inst_data = pd.read_csv(path, sep=',', encoding='shift_jis',header=0)

inst_list = list(inst_data["Modellnummer"].values + " / " + inst_data["Hersteller"] )

# add items in treeview
for value in inst_list: 
    ct.insert('', 'end', iid = value, text=value)

window.mainloop()

Ausgabeergebnis

image.png

In der Zwischenablage befinden sich nur markierte Elemente. Ich möchte folgendes sehen.

SV-1 88-MR / Korg
Rythm Worf / AKAI 
BeatStep / Arturia

Nein, es ist schwierig.

Ausrüstungsliste csv

image.png

Bitte geben Sie die Modellnummer und den Hersteller für den Spaltennamen ein. Ich werde lesen. Stellen Sie beim Kopieren sicher, dass der Speicherort mit der ausführbaren Datei übereinstimmt!

Zitat

Der folgende Artikel hat mir wirklich geholfen. Vielen Dank. ttkwidgets Documentation Release 0.11.0 Documentation » ttkwidgets » CheckboxTreeview Python Tkinter Tk support checklist box? How to create selected checkbox list item using Tkinter

das ist alles.

Recommended Posts

Checkliste mit Checkbox Treeview → Texterstellung
Chat mit Socket erstellen
Wählen Sie Features mit Textdaten aus
Textentwicklung mit Mac-Diensten