CanadianGamer

view.py

Aug 6th, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. import tkinter
  2. from tkinter.constants import *
  3. from tkinter import StringVar
  4. from tkinter.ttk import *
  5. from model.weather import Weather
  6. from tkinter import *
  7.  
  8.  
  9. class View(tkinter.Tk):
  10.  
  11.  
  12.  
  13. def __init__(self,controller):
  14. super().__init__()
  15. self.geometry("700x500")
  16.  
  17. self.controller = controller
  18. self.bind('<Return>', self.controller.handleButtonSearch)
  19.  
  20. #--Variables--
  21. self.varSearch = StringVar()
  22. self.varTemp = StringVar()
  23. self.varLocation = StringVar()
  24. self.varCondition = StringVar()
  25.  
  26. self.varImg = tkinter.PhotoImage(data=Weather().getConditionIcon())
  27.  
  28.  
  29.  
  30. self.varTemp.set("90")
  31. self.varLocation.set("ur mom")
  32. #----- Frames ----
  33. self.mainframe =Frame(self)
  34. self.mainframe.pack()
  35. self._createFrameSerachBar()
  36. self._createFrameInfo()
  37. self._createFrameDetails()
  38.  
  39.  
  40.  
  41. def _createFrameIcon(self):
  42. self.frameInfo = Frame(self.mainframe)
  43.  
  44.  
  45.  
  46. def _createFrameSerachBar(self):
  47. self.frameSearchBar = Frame(self.mainframe)
  48.  
  49. comboSearch = Combobox(self.frameSearchBar, textvariable=self.varSearch)
  50. buttonSearch = Button(self.frameSearchBar, text = "Search" ,command=self.controller.handleButtonSearch)
  51.  
  52. comboSearch.pack(padx = 10, side = LEFT)
  53. buttonSearch.pack(side=RIGHT)
  54. self.frameSearchBar.pack()
  55.  
  56. def _createFrameInfo(self):
  57. self.frameInfo = Frame(self.mainframe)
  58.  
  59.  
  60.  
  61. labelTemp = Label(self.frameInfo, textvariable=self.varTemp)
  62. labelLocation = Label(self.frameInfo, textvariable= self.varLocation)
  63. labelIcon = Label(self.frameInfo,image = self.varImg)
  64.  
  65. labelTemp.pack(pady = 5)
  66. labelLocation.pack(pady = 5)
  67. labelIcon.pack(pady = 5)
  68. self.frameInfo.pack()
  69.  
  70. def _createFrameDetails(self):
  71. self.frameDetails = Frame(self.mainframe)
  72.  
  73. labelConditionLeft = Label(self.frameDetails, text= 'Current Conditiom:')
  74.  
  75.  
  76. labelConditionRight = Label(self.frameDetails, textvariable = self.varCondition)
  77.  
  78.  
  79. labelConditionLeft.grid(row = 0, column=0, pady=5, sticky = W)
  80. labelConditionRight.grid(row= 0, column=1,pady=5, sticky= E )
  81.  
  82. self.frameDetails.pack()
  83.  
  84.  
  85.  
  86. def main(self):
  87. self.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment