サブウインドウの上部に、プラグイン名を載せ、最下部にプラグインの内容のテキストボックスを表示し、中央に、エフェクトのフレームを用意しました。
ウインドウのリサイズで、整形が崩れないことを確認、
今日は、ここまで、
胡散臭い、の、載せておきます、
import tkinter as tk
import customtkinter
from CTkListbox import *
import os
FONT_TYPE = "meiryo"
global path
path = '/usr/lib/ladspa'
global plugin_name
class Toplevelwindow(customtkinter.CTkToplevel):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
global path
global plugin_name
self.geometry("500x480")
self.title(plugin_name)
os.system("analyseplugin {}/{} | tee tmp.txt".format(path, plugin_name))
text = open('tmp.txt','r')
pram_data = text.readlines()
for line in pram_data:
if "Name" in line:
print(line, end="")
text.close()
self.frame = customtkinter.CTkFrame(self, width=460, height=300)
self.frame.grid(row=1, column=0, padx=20, sticky="nsew")
self.label = customtkinter.CTkLabel(self, text=plugin_name, font=(FONT_TYPE, 15))
self.label.grid(row=0, column=0, padx=20, sticky="nw")
with open("tmp.txt","r") as text:
pram = text.read()
self.textbox = customtkinter.CTkTextbox(self, width=460, height=100, font=(FONT_TYPE, 14))
self.textbox.grid(row=2, column=0, padx=20, pady=(10,20), sticky="ew")
# self.resizable(False, False)
self.textbox.insert("0.0", pram)
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(0, weight=1)
class App(customtkinter.CTk):
def __init__(self):
super().__init__()
self.fonts = (FONT_TYPE, 15)
self.setup_form()
def setup_form(self):
customtkinter.set_appearance_mode("dark") # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue") # Themes: blue (default), dark-blue, green
self.geometry("440x340")
self.title("LADSPA tester")
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(0, weight=1)
self.read_file_frame = customtkinter.CTkFrame(self)
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
self.plugin_label = customtkinter.CTkLabel(self, text="Plugins", font=(FONT_TYPE, 15))
global path
plugin_list = sorted(os.listdir(path))
list_var = tk.StringVar(value=plugin_list)
self.listbox = CTkListbox(master=self, font=(FONT_TYPE, 15), listvariable=list_var)
self.button_open = customtkinter.CTkButton(self, command=self.button_select_callback, text="Open", font=self.fonts)
self.plugin_label.grid(row=0, column=0, padx=20, pady=0, sticky="sw")
self.read_file_frame.grid(row=1, column=0, padx=20, pady=0, sticky="ew")
self.listbox.grid(row=1, column=0, padx=10, pady=(0,10), sticky="ew")
self.button_open.grid(row=2, column=0, padx=10, pady=(0,15))
self.resizable(False, False)
self.toplevel_window = None
def button_select_callback(self):
global plugin_name
plugin_name = self.listbox.get()
if self.toplevel_window is None or not self.toplevel_window.winfo_exists():
self.toplevel_window = Toplevelwindow(self)
else:
self.toplevel_window.forcus()
if __name__ == "__main__":
app = App()
app.mainloop()
本日も、Picsartに、お願い、






