Advertisement
los1234

Untitled

Feb 27th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.08 KB | None | 0 0
  1. import tkinter as tk
  2. import tkinter.messagebox as msg
  3. import os
  4. import tkinter.filedialog as fl
  5. from tkinter.ttk import Notebook
  6. import sqlite3
  7. import tkinter as ttk
  8.  
  9.  
  10. class LabelTab(tk.Tk):
  11.  
  12. def __init__(self, poor=None):
  13.  
  14. super().__init__()
  15.  
  16. self.poor = []
  17.  
  18. self.menu = tk.Menu(self)
  19.  
  20. self.geometry("1200x600")
  21.  
  22. self.file = tk.Menu(self.menu, tearoff=0)
  23.  
  24. self.file.add_command(label="File", command=lambda: msg.showinfo("About", "Hi"))
  25.  
  26. self.file.add_separator()
  27.  
  28. self.menu.add_cascade(label="File", menu=self.file)
  29.  
  30. self.file.add_command(label="Open", command=self.files)
  31.  
  32. self.notebook = Notebook(self, width=200, height=200)
  33.  
  34. self.something = tk.Frame(self.notebook)
  35.  
  36. self.notebook.add(self.something, text="Registration Page")
  37.  
  38. self.something1 = tk.Frame(self.notebook)
  39.  
  40. # self.notebook.add(self.canvas_frame, text="Notebook 2")
  41.  
  42. self.notebook.pack(fill=tk.BOTH, expand=1)
  43.  
  44. self.entry = tk.Text(self.something)
  45.  
  46. self.canvas = tk.Canvas(self.something1, bg="lightgrey")
  47.  
  48. # self.scroll1 = tk.Scrollbar(self.canvas, orient="horizontal", command=self.canvas.xview)
  49.  
  50. # self.canvas.configure(xscrollcommand=self.scroll1.set)
  51.  
  52. self.scroll = tk.Scrollbar(self.canvas, orient="vertical", command=self.canvas.yview)
  53.  
  54. self.canvas.configure(yscrollcommand=self.scroll.set)
  55.  
  56. # self.scroll1.pack(side=tk.BOTTOM, fill=tk.X)
  57.  
  58. self.canvas.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=1)
  59.  
  60. self.scroll.pack(side=tk.RIGHT, fill=tk.Y)
  61.  
  62. self.frame = tk.Frame(self.canvas)
  63.  
  64. self.notebook.add(self.something1, text="To Do List")
  65.  
  66. self.entry.pack(fill=tk.BOTH, expand=1)
  67.  
  68. self.entry.focus_set()
  69.  
  70. self.bind("<Return>", self.add)
  71.  
  72. self.title("Notebook v4.6")
  73.  
  74. self.something2 = tk.Frame(self.notebook)
  75.  
  76. self.notebook.add(self.something2, text="Settings")
  77.  
  78. self.color = [{"bg": "white", "fg": "black"}, {"bg": "red", "fg": "black"}]
  79.  
  80. self.idk = ttk.Button(self.something2, text="Hello", width=20)
  81.  
  82. self.idk1 = ttk.Button(self.something2, text="Hello", width=20)
  83.  
  84. self.idk.pack(side=tk.LEFT, anchor="n" + "w")
  85.  
  86. self.idk1.pack(side=tk.LEFT, anchor="n")
  87.  
  88. self.file.add_command(label="Show pop up window", accelerator="Ctrl+L", command=self.toplevel1)
  89.  
  90. self.bind("<Control-l>", self.toplevel1)
  91.  
  92. self.something1.bind("<MouseWheel>", self.scroll)
  93.  
  94. self.canvas.bind("<Button-4>", self.scroll)
  95.  
  96. self.canvas.bind("<Button-5>", self.scroll)
  97.  
  98. # def width(self, event):
  99. # task = event.width
  100. # self.canvas.itemconfig(self.canvas_frame, width=task)
  101.  
  102. def scroll(self, event):
  103. if event.delta:
  104. self.canvas.yview_scroll(-1*(event.delta/120), "units")
  105. else:
  106. if event.num == 5:
  107. move = -1
  108. else:
  109. move = 1
  110.  
  111. self.canvas.yview_scroll(move, "units")
  112.  
  113. # def scrollmove(self, event):
  114. # self.canvas.configure(scrollregion=self.canvas.bbox("all"))
  115.  
  116. def remove(self, event):
  117. pop = event.widget
  118. if msg.askyesno("About", "Are you sure you want to delete " + pop.cget("text") + "?"):
  119. self.poor.remove(event.widget)
  120.  
  121. event.widget.destroy()
  122.  
  123. def dont(self, event=None):
  124. if msg.askyesno("About", "Hello"):
  125. import time
  126. time.sleep(1)
  127. main.destroy()
  128.  
  129. def files(self, event=None):
  130. file5 = fl.askopenfilename(defaultextension=".txt",
  131. filetypes=[("All Files", "*.*"), ("Text Documents", "*.txt"), ("Batch File", "*.bat")])
  132.  
  133. def exit(self, event=None):
  134. if msg.askyesno("About", "Are you sure you want to quit?"):
  135. main.destroy()
  136.  
  137. def recolor(self):
  138. for index, value in enumerate(self.another):
  139. self.set_color(index, value)
  140.  
  141. def add(self, event=None):
  142. text1 = self.entry.get(1.0, tk.END).strip()
  143.  
  144. if len(text1) > 0:
  145. new_label = tk.Label(self.canvas, text=text1, pady=10)
  146.  
  147. self.set_color(len(self.poor), new_label)
  148.  
  149. new_label.bind("<Button-1>", self.remove)
  150.  
  151. new_label.pack(side=tk.TOP, fill=tk.X)
  152.  
  153. self.poor.append(new_label)
  154.  
  155. self.entry.delete(1.0, tk.END)
  156.  
  157. def set_color(self, one, two):
  158.  
  159. _, choices = divmod(one, 2)
  160.  
  161. my_colors = self.color[choices]
  162.  
  163. two.configure(bg=my_colors["bg"])
  164. two.configure(fg=my_colors["fg"])
  165.  
  166. def toplevel1(self, event=None):
  167. self.string = tk.StringVar(self)
  168. # self.string.set("Enter a username")
  169. self.toplevel = tk.Toplevel(self)
  170. self.toplevel.title("Registation Window")
  171. self.toplevel.resizable(True, True)
  172. self.toplevel.iconbitmap("icons/Python.ico")
  173. self.toplevel.geometry("1200x600")
  174. self.coconut = tk.Entry(self.toplevel)
  175. self.coconut.pack(side=tk.LEFT, anchor="n" + "w")
  176. self.coconut.bind("<Return>", self.toplevelinfo)
  177. self.coconut1 = tk.Entry(self.toplevel, width=30, textvar=self.string)
  178. self.coconut1label = tk.Label(self.toplevel, text="Chatbot:")
  179. self.coconut1.bind("<Return>", self.entryboxes)
  180. self.coconut1.place(x=5, y=50)
  181. self.coconut1label.place(x=5, y=25)
  182.  
  183. def toplevelinfo(self, event=None):
  184. if self.coconut.get() == "hi":
  185. msg.showinfo("Hello", "Hello there!! how are you?")
  186. self.coconut.delete(0, "end")
  187. else:
  188. msg.showerror("About", self.coconut.get() + "." + " Word is unidentified, please try again later!!")
  189.  
  190. def entryboxes(self, event=None):
  191. self.coconut1.get()
  192.  
  193. if self.coconut1.get() == "hi":
  194. msg.showinfo("About", "Hello")
  195. elif self.coconut1.get() == "hello":
  196. msg.showinfo("About", "Hi there")
  197. elif self.coconut1.get() == "what's your name":
  198. msg.showinfo("About", "I am tkinter, what's yours?")
  199. self.another_toplevel = tk.Toplevel(self)
  200. self.another_toplevel.resizable(False, False)
  201. self.another_toplevel1 = tk.Entry(self.another_toplevel)
  202. self.another_toplevel1.bind("<Return>", self.namespecifier)
  203. self.another_toplevel1.pack(side=tk.LEFT, anchor="n" + "w")
  204. else:
  205. msg.showinfo("About", "Sorry I can't understand what you just said, maybe my creator will update me next time to handle kind of this questions :)")
  206.  
  207. self.coconut1.delete(0, tk.END)
  208.  
  209. def namespecifier(self, event):
  210. if self.another_toplevel1.get():
  211. msg.showinfo("About", "Oh! hey there " + self.another_toplevel1.get())
  212. self.destroy()
  213.  
  214. if __name__ == "__main__":
  215. main = LabelTab()
  216. main.config(menu=main.menu)
  217. main.iconbitmap("icons/Python.ico")
  218. main.protocol("WM_DELETE_WINDOW", main.exit)
  219. main.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement