Tkinter dosya sürükleme

Merhabalar tkinter üzerinde pencere oluşturup o pencereye dosya sürükleyip
dosya üzerinde işlem yapmak istiyorum bunu nasıl yapabilirim acaba

Tkinter penceresine dosya sürükleme özelliği var mı bilmiyorum. Ama filedialog isminde bir dosya açma fonksiyonu var.

Aşağıdaki kodlar txt dosyası açmakla ilgilidir. Açtığınız metin dosyasının içeriği, text widgetinin içine aktarılır.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import tkinter as tk
from tkinter import filedialog


class App(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.pack(expand=True, fill="both")

        self.text = tk.Text(master=self, width=100, height=25,
                            fg="white", bg="black")
        self.text.pack(expand=True, fill="both")

        self.menu = tk.Menu(master=None)
        master.configure(menu=self.menu)
        self.dosya = tk.Menu(master=self.menu, tearoff=False)
        self.menu.add_cascade(label="Dosya", menu=self.dosya)
        self.dosya.add_command(label="Aç...", command=self._open)

    def _open(self):
        self.text.delete("1.0", "end")
        dosya = filedialog.askopenfilename(
            filetypes=[("Metin Belgeleri", ".txt")])
        with open(dosya) as d:
            if str(dosya).endswith(".txt"):
                metin = d.readlines()
                for i in metin:
                    self.text.insert("insert", i)


if __name__ == "__main__":
    root = tk.Tk()
    app = App(master=root)
    app.mainloop()

Merhaba.

Biraz araştırınca Tkinter’a sürükle-bırak işlevselliği kazandırmak için Tkdnd diye bir modül kullanılabileceğini gördüm. Ancak bu Tk için. Python için ise şu arama sonucunda bazı sonuçlar mevcut: https://goo.gl/NhWp6E.

İyi çalışmalar.

Çok teşekkür ederim iyi zaman’lar.

1 Beğeni

Selamunaleyküm. Biraz araştırma yapınca aşağıdaki linkleri buldum. Sanırım ek modül lazım.


Çok teşekkür ederim iyi zamanlar.

1 Beğeni