From 0a54d9a1dca6ae2f820fe3b829c9fb8e7c56e2cb Mon Sep 17 00:00:00 2001 From: Aashish Kumar <39042206+Aashishkumar123@users.noreply.github.com> Date: Sat, 4 Feb 2023 22:05:20 +0530 Subject: [PATCH 01/11] Create LICENSE --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5e60199 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Aashishkumar123 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 38903a6996caf7dd9aa050a7a5bca6ebb8c5ee6a Mon Sep 17 00:00:00 2001 From: Varun Teja <68656749+varunteja007006@users.noreply.github.com> Date: Sat, 22 Apr 2023 13:02:39 +0530 Subject: [PATCH 02/11] Update yt-downloader.py Corrected the fetch of the youtube logo with the os module (Line 23), (Line 206) Added mode type to the Image open. --- Advance Youtube Downloader/yt-downloader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Advance Youtube Downloader/yt-downloader.py b/Advance Youtube Downloader/yt-downloader.py index d25769e..3ac99c1 100644 --- a/Advance Youtube Downloader/yt-downloader.py +++ b/Advance Youtube Downloader/yt-downloader.py @@ -18,9 +18,9 @@ from pytube import Playlist from tkinter.ttk import Progressbar from tkinter.scrolledtext import ScrolledText - +import os # =========================================================== - +youtubeLogo = os.path.join(os.getcwd(), "Advance Youtube Downloader\youtube.png") class YoutubeDownloader(): # ========== Video Path =================== @@ -203,7 +203,7 @@ def __init__(self): self.design3 = Label(self.root,bg="red",width=3,height=6) self.design3.place(x=242,y=90) - self.yt_icon = ImageTk.PhotoImage(Image.open('youtube.png')) + self.yt_icon = ImageTk.PhotoImage(Image.open(youtubeLogo, mode="r")) self.logo = Label(self.root,image=self.yt_icon,bg="white") self.logo.place(x=220,y=70) From 4648156e5725998e9f51244199ba841a5596d3d8 Mon Sep 17 00:00:00 2001 From: sami Date: Sun, 2 Jul 2023 05:18:16 +0500 Subject: [PATCH 03/11] Adding New News Headline Applicatio --- .../.idea/.gitignore | 3 + .../.idea/.name | 1 + .../.idea/News Headlines Sender.iml | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .../.idea/misc.xml | 4 + .../.idea/modules.xml | 8 + .../.idea/vcs.xml | 6 + .../ReadMe | 7 + .../apitesting.py | 32 ++++ .../download.png | Bin 0 -> 6574 bytes .../hackerrank.py | 11 ++ .../main.py | 146 ++++++++++++++++++ .../newsicon.png | Bin 0 -> 2940 bytes ...4vector creative hot news tag_4265321.png" | Bin 0 -> 162799 bytes 14 files changed, 232 insertions(+) create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/.gitignore create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/.name create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/News Headlines Sender.iml create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/misc.xml create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/modules.xml create mode 100644 Instant News Headlines (Tkinter + NewsApi)/.idea/vcs.xml create mode 100644 Instant News Headlines (Tkinter + NewsApi)/ReadMe create mode 100644 Instant News Headlines (Tkinter + NewsApi)/apitesting.py create mode 100644 Instant News Headlines (Tkinter + NewsApi)/download.png create mode 100644 Instant News Headlines (Tkinter + NewsApi)/hackerrank.py create mode 100644 Instant News Headlines (Tkinter + NewsApi)/main.py create mode 100644 Instant News Headlines (Tkinter + NewsApi)/newsicon.png create mode 100644 "Instant News Headlines (Tkinter + NewsApi)/\342\200\224Pngtree\342\200\224vector creative hot news tag_4265321.png" diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/.gitignore b/Instant News Headlines (Tkinter + NewsApi)/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/.name b/Instant News Headlines (Tkinter + NewsApi)/.idea/.name new file mode 100644 index 0000000..11a5d8e --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/.name @@ -0,0 +1 @@ +main.py \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/News Headlines Sender.iml b/Instant News Headlines (Tkinter + NewsApi)/.idea/News Headlines Sender.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/News Headlines Sender.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/inspectionProfiles/profiles_settings.xml b/Instant News Headlines (Tkinter + NewsApi)/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/misc.xml b/Instant News Headlines (Tkinter + NewsApi)/.idea/misc.xml new file mode 100644 index 0000000..dc9ea49 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/modules.xml b/Instant News Headlines (Tkinter + NewsApi)/.idea/modules.xml new file mode 100644 index 0000000..e584c4b --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/.idea/vcs.xml b/Instant News Headlines (Tkinter + NewsApi)/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/ReadMe b/Instant News Headlines (Tkinter + NewsApi)/ReadMe new file mode 100644 index 0000000..a85c7bc --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/ReadMe @@ -0,0 +1,7 @@ +This is Simple News Headline Application made in Python with NewsAPi and Gui using TKinter + +Here are the TWo options : +1. Get headlines of your choice= in which we give different parameters given by user and get news from around the world. +2. This end give and generate random headlines. + + diff --git a/Instant News Headlines (Tkinter + NewsApi)/apitesting.py b/Instant News Headlines (Tkinter + NewsApi)/apitesting.py new file mode 100644 index 0000000..4cdaae0 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/apitesting.py @@ -0,0 +1,32 @@ +import requests +import tkinter as tk +def getnews(): + api_key="a8ab6d9bd5684d27bab671e76c15eb91" + url = "https://newsapi.org/v2/top-headlines?country=US&category=business&apiKey="+api_key + news=requests.get(url).json() + articles = news["articles"] + my_articles =[] + my_news="" + + for article in articles: + my_articles.append(article["title"]) + + for i in range(10): + my_news = my_news + my_articles[i] + "\n" + + label.config(text=my_news) + +canvas = tk.Tk() +canvas.geometry("1000x400") +canvas.title("News App") + + +button=tk.Button(canvas,font =24,text="GetHeadLines",command=getnews) +button.pack(pady = 20) + +label=tk.Label(canvas,font = 18,justify = "left") +label.pack(pady =20) + +canvas.mainloop() + + diff --git a/Instant News Headlines (Tkinter + NewsApi)/download.png b/Instant News Headlines (Tkinter + NewsApi)/download.png new file mode 100644 index 0000000000000000000000000000000000000000..32280e648a6754feadc7c41558319d40172615e4 GIT binary patch literal 6574 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 & n<=5: + print("Not Weird") + elif n>=6 & n<=20: + print("Weird") + elif n>20: + print("Not Weird") \ No newline at end of file diff --git a/Instant News Headlines (Tkinter + NewsApi)/main.py b/Instant News Headlines (Tkinter + NewsApi)/main.py new file mode 100644 index 0000000..1391f14 --- /dev/null +++ b/Instant News Headlines (Tkinter + NewsApi)/main.py @@ -0,0 +1,146 @@ + +#tkinter module +from tkinter import * + +#image module +from PIL import Image, ImageTk + +#font from tkinter +from tkinter import font + +#requests module +import requests + +#random module +import random + +#main welcome window code +welcome = Tk() +welcome.title("Sami News ") +welcome.geometry('500x500') + +background = Image.open('—Pngtree—vector creative hot news tag_4265321.png') +resized_image = background.resize((500, 500), Image.ANTIALIAS) + + +#function to open second window +def openSecondWindow(): + selected_optioncountry = "" + selected_optioncategory="" + secondwindow = Toplevel() + secondwindow.title("Select Your Headlines Types") + secondwindow.geometry("1000x400") + bold_font = font.Font(family="Helvetica", size=12, weight="bold") + langlabel=Label(secondwindow,text="Select Country---US for United States of America",font=bold_font) + langlabel.pack() + + #saving options select from toggle menu + def save_option(): + nonlocal selected_optioncountry + selected_optioncountry= (var.get())[:2] + + #saving options from toggle menu + def save_option2(): + nonlocal selected_optioncategory + selected_optioncategory= var2.get() + + + #get news api from newsapi + def getnews(): + api_key = "a8ab6d9bd5684d27bab671e76c15eb91" + country = selected_optioncountry + cat= selected_optioncategory + url = f"https://newsapi.org/v2/top-headlines?country={country}&category={cat}&apiKey="+api_key + news = requests.get(url).json() + articles = news["articles"] + my_articles = [] + my_news = "" + + for article in articles: + my_articles.append(article["title"]) + + for i in range(10): + my_news += f"{i + 1}. {my_articles[i]}\n" + + button_gethealines.config(text=my_news) + #toggle menu code 1 + var = (StringVar()) + var.set("US-United States of America") + options = ["GB-Great Britian", "AU-Australia", "FR-France","DE-Germany","RU-Russia","TR-turkey","UA-Ukraine"] + drop_down = OptionMenu(secondwindow, var, *options) + drop_down.pack() + save_button = Button(secondwindow, text="Save Country", command=save_option,width=10,height=1,bg="red",fg="white") + save_button.place(x=100,y=20) + save_button.pack() + bold_font = font.Font(family="Helvetica", size=12, weight="bold") + categorylabel=Label(secondwindow,text="Select Category of News",font=bold_font) + categorylabel.pack() + + #toggle menu code 2 + var2 = (StringVar()) + var2.set("business") + options = ["sports", "health", "science","technology","general"] + drop_down2 = OptionMenu(secondwindow, var2, *options) + drop_down2.pack() + save_button2 = Button(secondwindow, text="Save Category", command=save_option2,width=10,height=1,bg="red",fg="white") + save_button2.pack() + button_gethealines = Button(secondwindow, text="Fetch News",command=getnews) + button_gethealines.pack() + + + secondwindow.mainloop() + + + +#second window of random news generator +def randomwindow(): + randomwindowtab=Toplevel() + randomwindowtab.title("Random News") + randomwindowtab.geometry("300x300") + + #get random news by random number generator and countries/categories generated from list + def randomnews(): + api_key = "a8ab6d9bd5684d27bab671e76c15eb91" + countries = ['uS','gb', 'au', 'fr', 'de', 'ru', 'tr', 'ua'] + categories = ['science', 'health', 'sports', 'technology', 'general'] + cot = random.randint(0, 7) + cat = random.randint(0, 4) + + url = f"https://newsapi.org/v2/top-headlines?country={(countries[cot])}&category={(categories[cat])}&apiKey=" + api_key + news = requests.get(url).json() + articles = news["articles"] + my_articles = [] + my_news = "" + + for article in articles: + my_articles.append(article["title"]) + for i in range(10): + my_news += f"{i + 1}. {my_articles[i]}\n" + b3.config(text=my_news) + + + #button in this window + b3 = Button(randomwindowtab,command=randomnews,text="Get Random News Now",activeforeground="red", pady=10, width=20, height=1) + b3.pack() + randomwindowtab.mainloop() + +#background image +tk_image = ImageTk.PhotoImage(resized_image) +label = Label(welcome, image=tk_image) +label.place(x=0, y=0, relwidth=1, relheight=1) +#button 1 +b1 = Button(welcome, command=openSecondWindow, text="Get News Headlines Of Your Choice", activeforeground="red", pady=10, width=30, height=1) +b1.place(x=100,y=90) +#button 2 +b2 = Button(welcome, command=randomwindow,text="Get Top10 Random News", activeforeground="red", pady=10, width=20, height=1) +b2.pack(side=BOTTOM) +b1.pack(side=BOTTOM) +bold_font = font.Font(family="Helvetica", size=12, weight="bold") +Welcometext = Label(welcome, text="Get Top Headlines Through News Api", font=bold_font) +Welcometext.pack() + + +welcome.mainloop() + + + diff --git a/Instant News Headlines (Tkinter + NewsApi)/newsicon.png b/Instant News Headlines (Tkinter + NewsApi)/newsicon.png new file mode 100644 index 0000000000000000000000000000000000000000..dde497dc67984f49bf996ad6bf62359351bae2f9 GIT binary patch literal 2940 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 z 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

!m3ugE8ZukKQMu=*8 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 literal 0 HcmV?d00001 From 53f5f35cd96a387acf3aef890b79e5a3acfebe33 Mon Sep 17 00:00:00 2001 From: Aashish Kumar <39042206+Aashishkumar123@users.noreply.github.com> Date: Tue, 11 Jul 2023 13:59:53 +0530 Subject: [PATCH 04/11] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 49acff3..6fa1303 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,8 @@ Running the script is really simple! Just open a terminal in the folder where yo `18. Weather Gui Application`
`19. Basic Gui Youtube Downloader`
`20. Tic Tac Toe`
+`21. News Headlines Application` + From 90e48f835f34348931d3396bd9f464d6e9653d68 Mon Sep 17 00:00:00 2001 From: MohitHire Date: Mon, 23 Oct 2023 18:57:57 +0530 Subject: [PATCH 05/11] Add compund interest using python tkinter --- compound_Interest.py/compundinterest.py | 112 ++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 compound_Interest.py/compundinterest.py diff --git a/compound_Interest.py/compundinterest.py b/compound_Interest.py/compundinterest.py new file mode 100644 index 0000000..cfe1757 --- /dev/null +++ b/compound_Interest.py/compundinterest.py @@ -0,0 +1,112 @@ +# import all classes / functions from the tkinter +from tkinter import * + +# Function for clearing the +# contents of all entry boxes +def clear_all() : + + # whole content of entry boxes is deleted + principal_field.delete(0, END) + rate_field.delete(0, END) + time_field.delete(0, END) + compound_field.delete(0, END) + + # set focus on the principal_field entry box + principal_field.focus_set() + + +# Function to find compound interest +def calculate_ci(): + + # get a content from entry box + principal = int(principal_field.get()) + + rate = float(rate_field.get()) + + time = int(time_field.get()) + + # Calculates compound interest + CI = principal * (pow((1 + rate / 100), time)) + + # insert method inserting the + # value in the text entry box. + compound_field.insert(10, CI) + + + +# Driver code +if __name__ == "__main__" : + + # Create a GUI window + root = Tk() + + # Set the background colour of GUI window + root.configure(background = 'dark blue') + + # Set the configuration of GUI window + root.geometry("400x250") + + # set the name of tkinter GUI window + root.title("Compound Interest Calculator") + + # Create a Principal Amount : label + label1 = Label(root, text = "Principal Amount(Rs) : ", + fg = 'white', bg = 'red') + + # Create a Rate : label + label2 = Label(root, text = "Rate(%) : ", + fg = 'white', bg = 'red') + + # Create a Time : label + label3 = Label(root, text = "Time(years) : ", + fg = 'white', bg = 'red') + + # Create a Compound Interest : label + label4 = Label(root, text = "Compound Interest : ", + fg = 'white', bg = 'red') + + # grid method is used for placing + # the widgets at respective positions + # in table like structure . + + # padx keyword argument used to set padding along x-axis . + # pady keyword argument used to set padding along y-axis . + label1.grid(row = 1, column = 0, padx = 10, pady = 10) + label2.grid(row = 2, column = 0, padx = 10, pady = 10) + label3.grid(row = 3, column = 0, padx = 10, pady = 10) + label4.grid(row = 5, column = 0, padx = 10, pady = 10) + + # Create a entry box + # for filling or typing the information. + principal_field = Entry(root) + rate_field = Entry(root) + time_field = Entry(root) + compound_field = Entry(root) + + # grid method is used for placing + # the widgets at respective positions + # in table like structure . + + # padx keyword argument used to set padding along x-axis . + # pady keyword argument used to set padding along y-axis . + principal_field.grid(row = 1, column = 1, padx = 10, pady = 10) + rate_field.grid(row = 2, column = 1, padx = 10, pady = 10) + time_field.grid(row = 3, column = 1, padx = 10, pady = 10) + compound_field.grid(row = 5, column = 1, padx = 10, pady = 10) + + # Create a Submit Button and attached + # to calculate_ci function + button1 = Button(root, text = "Submit", bg = "red", + fg = "black", command = calculate_ci) + + # Create a Clear Button and attached + # to clear_all function + button2 = Button(root, text = "Clear", bg = "red", + fg = "black", command = clear_all) + + button1.grid(row = 4, column = 1, pady = 10) + button2.grid(row = 6, column = 1, pady = 10) + + # Start the GUI + root.mainloop() + \ No newline at end of file From af3ab91b8cddd77a780dae1f880073dbbcc14154 Mon Sep 17 00:00:00 2001 From: MohitHire Date: Wed, 25 Oct 2023 23:32:05 +0530 Subject: [PATCH 06/11] Add Pomodrone project using tkinter --- Pomodrone/pomodrone.py | 94 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Pomodrone/pomodrone.py diff --git a/Pomodrone/pomodrone.py b/Pomodrone/pomodrone.py new file mode 100644 index 0000000..470d7fe --- /dev/null +++ b/Pomodrone/pomodrone.py @@ -0,0 +1,94 @@ +import tkinter as tk +from tkinter import messagebox +from PIL import Image, ImageTk +from playsound import playsound +import time + +class Pomodoro: + def __init__(self, root): + self.root = root + + def work_break(self, timer): + + # common block to display minutes + # and seconds on GUI + minutes, seconds = divmod(timer, 60) + self.min.set(f"{minutes:02d}") + self.sec.set(f"{seconds:02d}") + self.root.update() + time.sleep(1) + + def work(self): + timer = 25*60 + while timer >= 0: + pomo.work_break(timer) + if timer == 0: + + # once work is done play + # a sound and switch for break + playsound("sound.ogg") + messagebox.showinfo( + "Good Job", "Take A Break, \ + nClick Break Button") + timer -= 1 + + def break_(self): + timer = 5*60 + while timer >= 0: + pomo.work_break(timer) + if timer == 0: + + # once break is done, + # switch back to work + playsound("sound.ogg") + messagebox.showinfo( + "Times Up", "Get Back To Work, \ + nClick Work Button") + timer -= 1 + + def main(self): + + # GUI window configuration + self.root.geometry("450x455") + self.root.resizable(False, False) + self.root.title("Pomodoro Timer") + + # label + self.min = tk.StringVar(self.root) + self.min.set("25") + self.sec = tk.StringVar(self.root) + self.sec.set("00") + + self.min_label = tk.Label(self.root, + textvariable=self.min, font=( + "arial", 22, "bold"), bg="red", fg='black') + self.min_label.pack() + + self.sec_label = tk.Label(self.root, + textvariable=self.sec, font=( + "arial", 22, "bold"), bg="black", fg='white') + self.sec_label.pack() + + # add background image for GUI using Canvas widget + canvas = tk.Canvas(self.root) + canvas.pack(expand=True, fill="both") + img = Image.open('pomodoro.jpg') + bg = ImageTk.PhotoImage(img) + canvas.create_image(90, 10, image=bg, anchor="nw") + + # create three buttons with countdown function command + btn_work = tk.Button(self.root, text="Start", + bd=5, command=self.work, + bg="red", font=( + "arial", 15, "bold")).place(x=140, y=380) + btn_break = tk.Button(self.root, text="Break", + bd=5, command=self.break_, + bg="red", font=( + "arial", 15, "bold")).place(x=240, y=380) + + self.root.mainloop() + + +if __name__ == '__main__': + pomo = Pomodoro(tk.Tk()) + pomo.main() From 48e21e05142b118fa7895a68f2303347e148e3d7 Mon Sep 17 00:00:00 2001 From: RiyaaBhatt <128878008+RiyaaBhatt@users.noreply.github.com> Date: Fri, 26 Apr 2024 11:44:31 +0530 Subject: [PATCH 07/11] changes --- Email Sender/send_email.py | 233 +++++++++++++++++-------------------- 1 file changed, 109 insertions(+), 124 deletions(-) diff --git a/Email Sender/send_email.py b/Email Sender/send_email.py index 64a2ace..6db3573 100644 --- a/Email Sender/send_email.py +++ b/Email Sender/send_email.py @@ -1,150 +1,135 @@ from tkinter import * +from tkinter import ttk import tkinter as tk from PIL import ImageTk, Image from tkinter import messagebox import smtplib from tkinter.scrolledtext import ScrolledText - root = tk.Tk() +# Custom styles for hover effects +style = ttk.Style() +style.theme_use('clam') # You can choose a different theme if needed +style.map("C.TButton", + foreground=[('pressed', 'black'), ('active', 'blue')], + background=[('pressed', '!disabled', 'gray'), ('active', 'white')] +) +style.map("L.TButton", + foreground=[('pressed', 'black'), ('active', 'blue')], + background=[('pressed', '!disabled', 'gray'), ('active', 'orange')] +) -def Login(): - e = email.get() - p = password.get() - - if '@gmail.com' not in e or e == "" : - messagebox.showerror('Login error',"PLease Write the Valid Email") - elif p == "": - messagebox.showerror('Login error'," Password Shouldn't be Empty") - - else: - try: - - s = smtplib.SMTP('smtp.gmail.com', 587) - s.starttls() - s.login(e,p) #attempt to log into smtp server - messagebox.showinfo("Login Success","You have Logged to Gmail Successfully") - - - - - root = tk.Tk() - root.geometry('500x400') - - def Logout(): - s.quit() - root.destroy() - - - - header1 = Label(root,bg="orange",width=300,height=2) - header1.place(x=0,y=0) - - h2 = Label(root,text="Email Sender",bg="orange",fg="black",font= ('verdana',13,'bold')) - h2.place(x=175,y=5) - - logout = Button(root,text="Logout",padx=20,bg="orange",relief=RIDGE,borderwidth=1,font= ('verdana',10,'bold'),cursor="hand2",command=Logout) - logout.place(x=390,y=38) - - - - r = Label(root,text="Recipetent Email Address",font= ('verdana',10,'bold')) - r.place(x=130,y=130) - recipetent = Entry(root,width=30,relief=RIDGE,borderwidth=3) - recipetent.place(x=130,y=150) - - - - st = Label(root,text="Subject",font= ('verdana',10,'bold')) - st.place(x=130,y=190) - subject = Entry(root,width=30,relief=RIDGE,borderwidth=3) - subject.place(x=130,y=210) - - m = Label(root,text="Message",font= ('verdana',10,'bold')) - m.place(x=130,y=250) - - message = ScrolledText(root,width=40,height=5,relief=RIDGE,borderwidth=3) - message.place(x=130,y=270) - - - - def Send(): - r = recipetent.get() - st = subject.get() - m = message.get('1.0',END) - - if '@gmail.com' not in r or r == "": - messagebox.showerror('Sending Mail error',"Please Write the Valid Email") - elif m == "": - messagebox.showerror('Sending Mail error',"Message shouldn't be Empty") - - else: - s.sendmail(r,e,f'Subject :{st}\n\n {m}') - messagebox.showinfo("Success","Your Message has been send successfully") - - - - send = Button(root,text="Send",padx=30,relief=RIDGE,borderwidth=1,bg="orange",font= ('verdana',10,'bold'),cursor="hand2",command=Send) - send.place(x=350,y=360) - root.mainloop() - - - - - - - - - - except: - messagebox.showerror('Login error',"Failed to Login, Either Your Email or Password is Wrong nor You did Enable less secure Apps in gmail Setting") - - - - - +def on_enter(event): + event.widget.config(bg="orange") +def on_leave(event): + event.widget.config(bg="white") +def Login(): + e = email.get() + p = password.get() + + if '@gmail.com' not in e or e == "": + messagebox.showerror('Login error',"Please write a valid email") + elif p == "": + messagebox.showerror('Login error',"Password shouldn't be empty") + else: + try: + s = smtplib.SMTP('smtp.gmail.com', 587) + s.starttls() + s.login(e,p) + messagebox.showinfo("Login Success","You have logged into Gmail successfully") + root.withdraw() # Hide login window + + # Create the main window + main_window = tk.Toplevel() + main_window.geometry('500x400') + main_window.title('Email Sender') + + def Logout(): + s.quit() + main_window.destroy() + + header1 = Label(main_window, bg="orange", width=300, height=2) + header1.place(x=0, y=0) + + h2 = Label(main_window, text="Email Sender", bg="orange", fg="black", font=('verdana', 13, 'bold')) + h2.place(x=175, y=5) + + logout = ttk.Button(main_window, text="Logout", style="C.TButton", width=10, command=Logout) + logout.place(x=390, y=38) + + r = Label(main_window, text="Recipient Email Address", font=('verdana', 10, 'bold')) + r.place(x=130, y=130) + recipient = Entry(main_window, width=30, relief=RIDGE, borderwidth=3) + recipient.place(x=130, y=150) + + st = Label(main_window, text="Subject", font=('verdana', 10, 'bold')) + st.place(x=130, y=190) + subject = Entry(main_window, width=30, relief=RIDGE, borderwidth=3) + subject.place(x=130, y=210) + + m = Label(main_window, text="Message", font=('verdana', 10, 'bold')) + m.place(x=130, y=250) + + message = ScrolledText(main_window, width=40, height=5, relief=RIDGE, borderwidth=3) + message.place(x=130, y=270) + + def Send(): + r = recipient.get() + st = subject.get() + m = message.get('1.0', END) + + if '@gmail.com' not in r or r == "": + messagebox.showerror('Sending Mail error', "Please write a valid email") + elif m == "": + messagebox.showerror('Sending Mail error', "Message shouldn't be empty") + else: + s.sendmail(r, e, f'Subject :{st}\n\n {m}') + messagebox.showinfo("Success", "Your message has been sent successfully") + + send = ttk.Button(main_window, text="Send", style="C.TButton", width=10, command=Send) + send.place(x=350, y=360) + + main_window.mainloop() + + except: + messagebox.showerror('Login error', "Failed to login. Check your email or password.") root.title('Email Sender') root.geometry('400x300') root.maxsize(400,300) root.minsize(400,300) -header = Label(root,bg="orange",width=300,height=2) -header.place(x=0,y=0) +header = Label(root, bg="orange", width=300, height=2) +header.place(x=0, y=0) -h1 = Label(root,text="Email Sender",bg="orange",fg="black",font= ('verdana',13,'bold')) -h1.place(x=135,y=5) +h1 = Label(root, text="Email Sender", bg="orange", fg="black", font=('verdana', 13, 'bold')) +h1.place(x=135, y=5) img = ImageTk.PhotoImage(Image.open('gmail.png')) -logo = Label(root,image=img,borderwidth=0) -logo.place(x=150,y=38) - - -e = Label(root,text="Email Address",font= ('verdana',10,'bold')) -e.place(x=100,y=130) -email = Entry(root,width=30,relief=RIDGE,borderwidth=3) -email.place(x=100,y=150) - - - -p = Label(root,text="Password",font= ('verdana',10,'bold')) -p.place(x=100,y=190) -password = Entry(root,width=30,relief=RIDGE,borderwidth=3) -password.place(x=100,y=210) - - -login = Button(root,text="Login",padx=30,bg="orange",relief=RIDGE,borderwidth=1,font= ('verdana',10,'bold'),cursor="hand2",command=Login) -login.place(x=135,y=240) - - - - - +logo = Label(root, image=img, borderwidth=0) +logo.place(x=150, y=38) + +e = Label(root, text="Email Address", font=('verdana', 10, 'bold')) +e.place(x=100, y=130) +email = Entry(root, width=30, relief=RIDGE, borderwidth=3, font=('Arial', 10)) # Changed font here +email.place(x=100, y=150) +email.bind("", on_enter) +email.bind("", on_leave) + +p = Label(root, text="Password", font=('verdana', 10, 'bold')) +p.place(x=100, y=190) +password = Entry(root, width=30, relief=RIDGE, borderwidth=3, font=('Arial', 10)) # Changed font here +password.place(x=100, y=210) +password.bind("", on_enter) +password.bind("", on_leave) + +login = ttk.Button(root, text="Login", style="L.TButton", width=10, command=Login) # Changed style here +login.place(x=145, y=240) root.mainloop() From 532979299c887e7b61ff7f764516751842a81ae3 Mon Sep 17 00:00:00 2001 From: Joao Angelo <78273535+Joao-Angelo-P@users.noreply.github.com> Date: Sat, 8 Mar 2025 18:24:56 -0400 Subject: [PATCH 08/11] Simple Calculator Calculator app with ".pack()" for geometry layout. For layout more concise, add widgets inside a Frame and this Frame inside the main window(Frame or Tk or Toplevel).The refence in the first comment. --- calculator/calculator2.py | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 calculator/calculator2.py diff --git a/calculator/calculator2.py b/calculator/calculator2.py new file mode 100644 index 0000000..dda9abc --- /dev/null +++ b/calculator/calculator2.py @@ -0,0 +1,55 @@ +# Inspirado no programa 'clac1.py' do livro "Python and Tkinter Programming" de John E.Grayson +from tkinter import * + +def frame(root, side): + w = Frame(master=root) + w.pack(side=side, expand=True, fill=BOTH, padx=(5, 0)) + return w + +def button(root, text, side, command=None, **kw): + w = Button(master=root, text=text, + command=command, relief=RIDGE, **kw) + w.pack(side=side, expand=True, fill=BOTH) + return w + +root = Frame() +display = StringVar() +frame_top = Frame(root,) +frame_top.pack(side=TOP, fill=BOTH, expand=YES) +Entry(master=frame_top, relief=SUNKEN, + textvariable=display).pack(side=LEFT, expand=YES, fill=BOTH, padx=5, pady=2) +Button(frame_top, text="C", + command=lambda w=display: w.set(''), + bg="red", fg="white", relief=RIDGE).pack(side=RIGHT, expand=False, padx=2) + + +for i in "987+ 654- 321* 0d./".split(): + frame2buttons = frame(root, TOP) + for char in i: + if char == "d": + button(frame2buttons, "00", LEFT, + lambda w=display: w.set(w.get()+"00")) + else: + + button(frame2buttons,char,LEFT, + lambda w=display, c='%s' % char: w.set(w.get()+c)) + + +def result(w, e=None): + s = w.get() + if '%' in s: + index = list(s).index('%') + list_s = list(s) + list_s.insert(0, '(') + list_s.insert(index+1, ')/100') + list_s[index+2] = '*' + s = ''.join(list_s) + + w.set(eval(s)) + +frame_bottom = frame(root, BOTTOM) +button(frame_bottom, "=", LEFT, command=lambda w=display: result(w), bg="red", fg="white") +Button(master=frame_bottom, text="%", relief=RIDGE, command=lambda w=display: w.set(w.get()+"%")).pack(side=LEFT, expand=False) + +root.pack(side=TOP, fill=BOTH, expand=True) +root.mainloop() From ebb9572628d9e946cad0ceefa3be978a3ad77f4a Mon Sep 17 00:00:00 2001 From: Joao Angelo <78273535+Joao-Angelo-P@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:56:59 -0400 Subject: [PATCH 09/11] Update calculator2.py Disabled the user input in Entry widget. For force the user use only buttons entry data. --- calculator/calculator2.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/calculator/calculator2.py b/calculator/calculator2.py index dda9abc..6f12343 100644 --- a/calculator/calculator2.py +++ b/calculator/calculator2.py @@ -1,5 +1,7 @@ # Inspirado no programa 'clac1.py' do livro "Python and Tkinter Programming" de John E.Grayson from tkinter import * +if 'constants' not in __import__('tkinter').__all__: + from tkinter import constants def frame(root, side): w = Frame(master=root) @@ -17,7 +19,7 @@ def button(root, text, side, command=None, **kw): frame_top = Frame(root,) frame_top.pack(side=TOP, fill=BOTH, expand=YES) Entry(master=frame_top, relief=SUNKEN, - textvariable=display).pack(side=LEFT, expand=YES, fill=BOTH, padx=5, pady=2) + textvariable=display, state=constants.DISABLED).pack(side=LEFT, expand=YES, fill=BOTH, padx=5, pady=2) Button(frame_top, text="C", command=lambda w=display: w.set(''), bg="red", fg="white", relief=RIDGE).pack(side=RIGHT, expand=False, padx=2) From a5ba37dfeeba4302e53bbb5469fcd82cf2601f7c Mon Sep 17 00:00:00 2001 From: Joao Angelo <78273535+Joao-Angelo-P@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:18:14 -0400 Subject: [PATCH 10/11] Update calculator2.py Exclude the "from tkinter import constants", forgot already have. --- calculator/calculator2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/calculator/calculator2.py b/calculator/calculator2.py index 6f12343..1c4faf3 100644 --- a/calculator/calculator2.py +++ b/calculator/calculator2.py @@ -1,7 +1,5 @@ # Inspirado no programa 'clac1.py' do livro "Python and Tkinter Programming" de John E.Grayson from tkinter import * -if 'constants' not in __import__('tkinter').__all__: - from tkinter import constants def frame(root, side): w = Frame(master=root) From 73429e66fac4af8f19a155e16996e0966cc116c2 Mon Sep 17 00:00:00 2001 From: Joao Angelo <78273535+Joao-Angelo-P@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:44:42 -0400 Subject: [PATCH 11/11] Update calculator2.py only "state=DISABLED". --- calculator/calculator2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calculator/calculator2.py b/calculator/calculator2.py index 1c4faf3..93678c4 100644 --- a/calculator/calculator2.py +++ b/calculator/calculator2.py @@ -17,7 +17,7 @@ def button(root, text, side, command=None, **kw): frame_top = Frame(root,) frame_top.pack(side=TOP, fill=BOTH, expand=YES) Entry(master=frame_top, relief=SUNKEN, - textvariable=display, state=constants.DISABLED).pack(side=LEFT, expand=YES, fill=BOTH, padx=5, pady=2) + textvariable=display, state=DISABLED).pack(side=LEFT, expand=YES, fill=BOTH, padx=5, pady=2) Button(frame_top, text="C", command=lambda w=display: w.set(''), bg="red", fg="white", relief=RIDGE).pack(side=RIGHT, expand=False, padx=2)