Untitled

 avatar
unknown
plain_text
a month ago
2.2 kB
13
Indexable
from PyQt5.QtWidgets import (
   QApplication, QWidget,
   QFileDialog, # Діалог відкриття файлів (і папок)
   QLabel, QPushButton, QListWidget,
   QHBoxLayout, QVBoxLayout
)
import os

app = QApplication([])
win = QWidget()       
win.resize(700, 500) 
win.setWindowTitle('Easy Editor')

lb_image = QLabel("Картинка")
btn_dir = QPushButton("Папка")
lw_files = QListWidget()


btn_left = QPushButton("Вліво")
btn_right = QPushButton("Вправо")
btn_flip = QPushButton("Дзеркало")
btn_sharp = QPushButton("Різкість")
btn_bw = QPushButton("Ч/Б")


row = QHBoxLayout()          # Основний рядок
col1 = QVBoxLayout()         # ділиться на два стовпці
col2 = QVBoxLayout()
col1.addWidget(btn_dir)      # у першому – кнопка вибору директорії
col1.addWidget(lw_files)     # та список файлів
col2.addWidget(lb_image, 95) # у другому - картинка
row_tools = QHBoxLayout()    # та рядок кнопок
row_tools.addWidget(btn_left)
row_tools.addWidget(btn_right)
row_tools.addWidget(btn_flip)
row_tools.addWidget(btn_sharp)
row_tools.addWidget(btn_bw)
col2.addLayout(row_tools)


row.addLayout(col1, 20)
row.addLayout(col2, 80)
win.setLayout(row)




workdir = "None"

extensions = [
    ".png",
    ".jpg",
    ".gif",
    ".jpeg",
    ".bmp"
]

def filter(extensions, filenames):
    result = []
    for f in filenames:
        for ext in extensions:
            if f.endswith(ext):
                result.append(f)
                
    return result


def chooseworkdir():
    global workdir
    workdir = QFileDialog.getExistingDirectory()
    print("workdir: ", workdir)

def showFileNames():
    chooseworkdir()
    
    if workdir:
        filenames = os.listdir(workdir)
        filenames = filter(extensions, filenames)
        print("filenames", filenames)
        
        for f in filenames:
            lw_files.addItem(f)

btn_dir.clicked.connect(showFileNames)






win.show()
app.exec()
Editor is loading...
Leave a Comment