サブウインドウにフレームを追加~素材ループ | ..あちゃ! no mic's

..あちゃ! no mic's

クラウドファンディング予定~2026年度
何度でもチャレンジ!
ただいまソーラーピックアップのテスト中

SANTA no Mix

サブウインドウの上部に、プラグイン名を載せ、最下部にプラグインの内容のテキストボックスを表示し、中央に、エフェクトのフレームを用意しました。

 

ウインドウのリサイズで、整形が崩れないことを確認、

 

 

 

 

 今日は、ここまで、

 

 胡散臭い、の、載せておきます、

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に、お願い、