Je voulais écrire une liste des équipements utilisés pour les vidéos youtube dans la colonne d'explication, N'est-ce pas différent pour chaque chanson?
Ce serait facile si vous pouviez le sélectionner avec l'interface graphique! Voilà pourquoi.
Je pensais que cela prendrait beaucoup de temps pour écrire le code, alors je vais le partager.
Excusez-moi
--Je ne comprends pas vraiment tkinter
--Je ne peux pas maîtriser la classe
C'est pourquoi je ne pouvais pas du tout jouer avec ce qui était écrit en classe. Faisons de notre mieux. Il est peut-être possible d'écrire plus joliment, mais fermez les yeux.
Accédez à la lecture csv → affichage de l'interface graphique → cochez les éléments à extraire
Le flux.
import tkinter as tk
from ttkwidgets import CheckboxTreeview
import pandas as pd
import pyperclip
def list_to_txt(lis_checked_item):
'''
"Je veux stocker la liste dans le presse-papiers avec des sauts de ligne!"
Arguments: 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["Numéro de modèle"].values + " / " + inst_data["Fabricant"] )
# add items in treeview
for value in inst_list:
ct.insert('', 'end', iid = value, text=value)
window.mainloop()
Seuls les éléments cochés se trouvent dans le presse-papiers. Je veux voir ce qui suit.
SV-1 88-MR / Korg
Rythm Worf / AKAI
BeatStep / Arturia
Non, c'est difficile.
Veuillez entrer le numéro de modèle et le fabricant pour le nom de la colonne. Je vais lire. Lors de la copie, assurez-vous que l'emplacement est le même que le fichier exécutable!
L'article ci-dessous m'a vraiment aidé. Merci beaucoup. ttkwidgets Documentation Release 0.11.0 Documentation » ttkwidgets » CheckboxTreeview Python Tkinter Tk support checklist box? How to create selected checkbox list item using Tkinter
c'est tout.