اذهب إلى المحتوى
  • 0

إدراج عمود من DataFrame إلى أداة Treeview

Ahmed Ahmed64

السؤال

Recommended Posts

  • 0
بتاريخ 19 دقائق مضت قال Khaled Osama3:

عليكم السلام يمكنك تجربة هذا الكود ، وسيعمل معك إن شاء الله

:()for index, row in self.A.iterrows

self.tree.insert('', 'end', values=tuple(row))

نعم أخي ولاكن أواجه مشكلة الأن

حيث كنت قد عملت كود نسخ ولصق من هذه الأداة وكانت الامور جيدة عندما كان الإدراج تجريبي بهذه الطريق

     self.tree.insert("", "end", text="Item 1")
     self.tree.insert("", "end", text="Item 2")
     self.tree.insert("", "end", text="Item 3")

ولاكن عندما قمت بإدراج العمود من خلال DataFrame تظهر قائمة النسخ واللصق ولاكن لا يتنفذ أمر النسخ

لا أعلم ما هو مصدر الخطأ

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 دقائق مضت قال Khaled Osama3:

ابعت الكود كله كده 

        for index, row in self.A.iterrows():
            self.tree.insert('', 'end', text=row[0]) 

بهذه الكيفية يتم الأدراج إلى أداة Treeview ولاكن لاتظهر للعين وفي الحقيقة حقول موجودة وأستطيع النسخ منها الأن 

المشكلة أن العمود غير ظاهر للعين

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 دقائق مضت قال Khaled Osama3:

تأكد من أن هناك بيانات مدخلة 

البيانات مدخلة فعلا وأستطيع النسخ من أداة ولصقها في مكان أخر القيمة فعلا موجودة ولاكن لا تظهر للعين

image.png.385e1de2bff1ef8095b971b11da4ad03.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 20 دقائق مضت قال Ahmed Ahmed64:

البيانات مدخلة فعلا وأستطيع النسخ من أداة ولصقها في مكان أخر القيمة فعلا موجودة ولاكن لا تظهر للعين

هل يمكنك ارسال كود الفرونت ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 دقائق مضت قال Khaled Osama3:

 

        self.popup = tk.Menu(self, tearoff=0)
        self.popup.add_command(label="Copy", command=lambda: self.copy_item())
        self.popup.add_command(label="Paste", command=lambda: self.paste_item())
        
        self.tree.bind("<Button-3>", self.show_popup)

    def copy_item(self):
        item = self.tree.selection()[0]
        self.clipboard_clear()
        self.clipboard_append(self.tree.item(item, option="text"))

    def paste_item(self):
        self.text = root.clipboard_get()    
        self.tree.insert("", "end", text=self.text)

      def show_popup(self,event):
                row = self.tree.identify_row(event.y)

           if row:
        
            self.tree.selection_set(row)
            self.popup.post(event.x_root, event.y_root)

 

تم التعديل في بواسطة Ahmed Ahmed64
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

كود الواجهة التى تعرض فيها البيانات .

بتاريخ 15 دقائق مضت قال Ahmed Ahmed64:

ماهو الفرونت ؟

import tkinter as tk
from tkinter import ttk

class YourApp(tk.Tk):

    def __init__(self):
        super().__init__()
        self.popup = tk.Menu(self, tearoff=0)
        self.popup.add_command(label="Copy", command=lambda: self.copy_item())
        self.popup.add_command(label="Paste", command=lambda: self.paste_item())
        self.tree = ttk.Treeview(self)
        self.tree.bind("<Button-3>", self.show_popup)
        
    def copy_item(self):

        item = self.tree.selection()[0]

        self.clipboard_clear()

        self.clipboard_append(self.tree.item(item, option="values"))

    def paste_item(self):

        self.text = self.clipboard_get()

        self.tree.insert("", "end", values=(self.text,))

    def show_popup(self, event):

        row = self.tree.identify_row(event.y)



        if row:

            self.tree.selection_set(row)

            self.popup.post(event.x_root, event.y_root)

# Instantiate and run the application

if __name__ == "__main__":

    app = YourApp()

    app.mainloop()

جرب هذا الكود 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 34 دقائق مضت قال Khaled Osama3:

كود الواجهة التى تعرض فيها البيانات .

import tkinter as tk
from tkinter import ttk

class YourApp(tk.Tk):

    def __init__(self):
        super().__init__()
        self.popup = tk.Menu(self, tearoff=0)
        self.popup.add_command(label="Copy", command=lambda: self.copy_item())
        self.popup.add_command(label="Paste", command=lambda: self.paste_item())
        self.tree = ttk.Treeview(self)
        self.tree.bind("<Button-3>", self.show_popup)
        
    def copy_item(self):

        item = self.tree.selection()[0]

        self.clipboard_clear()

        self.clipboard_append(self.tree.item(item, option="values"))

    def paste_item(self):

        self.text = self.clipboard_get()

        self.tree.insert("", "end", values=(self.text,))

    def show_popup(self, event):

        row = self.tree.identify_row(event.y)



        if row:

            self.tree.selection_set(row)

            self.popup.post(event.x_root, event.y_root)

# Instantiate and run the application

if __name__ == "__main__":

    app = YourApp()

    app.mainloop()

جرب هذا الكود 

جيد أخي الكود يعمل ولاكن هناك مشكلة بسيطة

عند النسخ واللصق يظهر النص بين هذه الأقواس  {  نص  }

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 ساعة قال Ahmed Ahmed64:

جيد أخي الكود يعمل ولاكن هناك مشكلة بسيطة

عند النسخ واللصق يظهر النص بين هذه الأقواس  {  نص  }

تأكد من أنك لا تطبعها عند النسخ أو اللصق ، وإن لم يكن كذلك فما عليا الا ان تحذفهم قبل الطباعة 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 35 دقائق مضت قال Khaled Osama3:

تأكد من أنك لا تطبعها عند النسخ أو اللصق ، وإن لم يكن كذلك فما عليا الا ان تحذفهم قبل الطباعة 

لم أفهم الرد أخي كيف أحذفهم قبل الطباعة الرجاء التوضيح أكثر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 ساعة قال Ahmed Ahmed64:

جيد أخي الكود يعمل ولاكن هناك مشكلة بسيطة

عند النسخ واللصق يظهر النص بين هذه الأقواس  {  نص  }

تأكد من أنك لا تطبعها عند النسخ أو اللصق ، وإن لم يكن كذلك فما عليك الا ان تحذفهم قبل الطباعة ، 

يمكنك تعديل النسخ واللصق بالشكل التالى:

def copy_item(self):

    item = self.tree.selection()[0]

    values = self.tree.item(item, option="values")

    if values:

        self.clipboard_clear()

        self.clipboard_append(values)

 

def paste_item(self):

    values = self.clipboard_get()

    if values:

        self.tree.insert("", "end", valu

es=values)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...