-
Notifications
You must be signed in to change notification settings - Fork 0
/
tweak13.py
67 lines (54 loc) · 2.55 KB
/
tweak13.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import tkinter as tk
from tkinter import font
from PIL import Image, ImageTk
def eur_to_fcfa(amount_eur):
exchange_rate = 655.957
amount_fcfa = amount_eur * exchange_rate
return amount_fcfa
def copy_text(widget):
widget.clipboard_clear()
widget.clipboard_append(widget.get("1.0", "end-1c"))
def paste_text(widget):
widget.delete(0, "end")
widget.insert(0, widget.clipboard_get())
def convert(event=None):
try:
amount_str = entry.get().replace(',', '.') # Replace commas with periods
amount_eur = float(amount_str)
amount_fcfa = eur_to_fcfa(amount_eur)
result_text.config(state="normal") # Enable the text box temporarily
result_text.delete("1.0", "end") # Clear previous result
result_text.insert("end", f"{amount_eur:.2f} EUR is equal to {amount_fcfa:.2f} FCFA", 'result') # Insert new result
result_text.tag_config('result', foreground='darkred', font=('Arial', 10, 'bold'))
result_text.config(state="disabled") # Disable the text box again
except ValueError:
result_text.config(state="normal") # Enable the text box temporarily
result_text.delete("1.0", "end") # Clear previous result
result_text.insert("end", "Please enter a valid number") # Insert error message
result_text.config(state="disabled") # Disable the text box again
# Create the main window
root = tk.Tk()
root.title("Currency Converter")
root.geometry("400x200")
# Create bold font
bold_font = font.Font(weight="bold")
# Create input label and entry
input_label = tk.Label(root, text="Enter amount in EUR:", font=bold_font)
input_label.grid(row=0, column=0, padx=10, pady=10)
entry = tk.Entry(root, font=bold_font, fg='darkblue')
entry.grid(row=0, column=1, padx=10, pady=10)
# Add context menu to entry widget
entry_menu = tk.Menu(root, tearoff=0)
entry_menu.add_command(label="Copy", command=lambda: copy_text(entry))
entry_menu.add_command(label="Paste", command=lambda: paste_text(entry))
entry.bind("<Button-3>", lambda e: entry_menu.post(e.x_root, e.y_root))
# Create convert button
convert_button = tk.Button(root, text="Convert", command=convert, font=bold_font)
convert_button.grid(row=0, column=2, padx=10, pady=10)
# Create label for displaying result
result_text = tk.Text(root, height=2, width=40, wrap="word", state="disabled")
result_text.grid(row=1, column=0, columnspan=3, padx=10, pady=10)
# Bind the Enter key to the convert function
root.bind("<Return>", convert)
# Run the application
root.mainloop()