मैं (टिंकर) पायथन सीख रहा हूं। मैं 'नोटपैड' नामक अपने टिंकर ऐप में 'सेव', 'कॉपी' और 'पेस्ट' फंक्शंस जोड़ना चाहता हूं, यहां मेरा कोड है:

from tkinter import *
import os


window=Tk()

window.title("Simple Notepad")

def save():
    if t1_value.get() == "":
        t1.insert(END, "Please add text to save it")
    else:
        t1_value.get().save("New-file-1.txt")


t1_value=StringVar()
t1=Text(window)
t1.grid(row=0,column=0,columnspan=6,padx=7,pady=7)

b1=Button(window,text="Close",width=15,command=window.destroy)
b1.grid(row=1,column=0,padx=7,pady=7)

b2=Button(window,text="Copy",width=15)
b2.grid(row=1,column=1,padx=7,pady=7)

b3=Button(window,text="Paste",width=15)
b3.grid(row=1,column=2,padx=7,pady=7)

b4=Button(window,text="Save",width=15,command=save)
b4.grid(row=1,column=3,padx=7,pady=7)

window.mainloop()

ऊपर से "सहेजें" फ़ंक्शन काम नहीं कर रहा है!

कृपया मुझे इन उपरोक्त कार्यात्मकताओं को इस सरल टिंकर नोटपैड में जोड़ने की विधि बताएं!

0
Ketan 3 अप्रैल 2021, 09:44

2 जवाब

सबसे बढ़िया उत्तर

आप नोटपैड बनाना चाहते हैं जो लोड और सेव कर सके। सही? मुझे लगता है कि write , read और with फ़ंक्शन का उपयोग करना आपके लिए अधिक बेहतर है। सबसे पहले, आपको फ़ाइल नाम की जांच करनी होगी और फिर सेव और ओपन फ़ंक्शन को परिभाषित करना होगा

filename='mynote.txt'

def open_file():
    if os.path.isfile(filename) :
        with open('mynote.txt', 'r', encoding='utf8') as mynote_read:
            t1.delete('1.0',END) 
            t1.insert(END, mynote_read.read())
            t1.see(END)
def save_file():
    with open('mynote.txt','w',encoding='utf8') as mynote_write:
        mynote_write.write(t1.get('1.0',END))

        t1.delete('1.0',END)
        mynote_write.close()
1
Chansub Kim 3 अप्रैल 2021, 10:11

क्लिपबोर्ड से कॉपी और पेस्ट करने के लिए आप pyperclip लाइब्रेरी का उपयोग कर सकते हैं।

import pyperclip as cb
.
.
button = tk.Button(root, text='Copy',
                      command=lambda: cb.copy(field['text']))
.
.
0
Anuj Sharma 3 अप्रैल 2021, 09:48