SHARE
TWEET

Untitled

a guest Jun 24th, 2019 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. _time_begin = 1
  2. """ начало с 1й секунды """
  3.  
  4. _timer_id = False
  5. """ ID интервала таймера """
  6.  
  7. def __init__(self):
  8.     tkinter.Tk.__init__(self)
  9.     self.title(WINDOW_TITLE)
  10.     self.geometry("%sx%s" % (WINDOW_WIDTH, WINDOW_HEIGHT))
  11.  
  12.     self.tk_frame_toolbar = tkinter.Frame(self, width=WINDOW_WIDTH, height=WINDOW_TOOLBAR_HEIGHT, background="grey",
  13.                                           relief=tkinter.GROOVE, border=2)
  14.  
  15.     self.tk_frame_main = tkinter.Frame(self, width=WINDOW_WIDTH, height=(WINDOW_HEIGHT - WINDOW_TOOLBAR_HEIGHT),
  16.                                        background=WINDOW_MAIN_FRAME_COLOR_BACKGROUND, relief=tkinter.GROOVE,
  17.                                        border=2)
  18.  
  19.     self.tk_label_timer = tkinter.Label(self.tk_frame_toolbar, text="0000")
  20.     self.tk_label_timer.grid(row=0, column=0, sticky=tkinter.NSEW)
  21.  
  22.     self.tk_label_button_new = tkinter.Button(self.tk_frame_toolbar, text="NEW")
  23.     self.tk_label_button_new.grid(row=0, column=1, sticky=tkinter.NSEW)
  24.  
  25.     self.tk_label_counter = tkinter.Label(self.tk_frame_toolbar, text="00/00")
  26.     self.tk_label_counter.grid(row=0, column=2, sticky=tkinter.NSEW)
  27.  
  28. def show_all_count_mine(self):
  29.     """
  30.     Показываем общее число мин на панели
  31.     """
  32.     self.tk_label_counter['text'] = "00/%2d" % MINE_COUNT
  33.  
  34. def show_selected_count_mine(self, selected_mine):
  35.     """
  36.     Показываем расставленное число мин на панели
  37.     :type selected_mine: int
  38.     """
  39.     self.tk_label_counter['text'] = "%2d/%2d" % (selected_mine, MINE_COUNT)
  40.  
  41. def timer_start(self):
  42.     """
  43.     Включает таймер игры
  44.     """
  45.     if not self._timer_id and self._time_begin == 1:
  46.         self.timer()
  47.  
  48. def timer_stop(self):
  49.     """
  50.     Выключает таймер игры
  51.     """
  52.     if self._timer_id:
  53.         self.tk_label_timer.after_cancel(self._timer_id)
  54.         self._timer_id = False
  55.  
  56. def timer(self):
  57.     self.tk_label_timer['text'] = "%0004d" % self._time_begin
  58.     self._time_begin += 1
  59.     self._timer_id = self.tk_label_timer.after(1000, self.timer)
  60.  
  61. def game_over(self):
  62.     """
  63.     Показываем окно с поражением
  64.     :return:
  65.     :rtype: bool
  66.     """
  67.     self.timer_stop()
  68.     tkMessageBox.showerror(GAME_OVER_WINDOW_TITLE, GAME_OVER_MESSAGE)
  69.     return False
  70.  
  71. def game_winner(self):
  72.     """
  73.     Показываем окно с победой
  74.     :return:
  75.     :rtype: bool
  76.     """
  77.     self.timer_stop()
  78.     tkMessageBox.showinfo(WINNER_WINDOW_TITLE, WINNER_MESSAGE)
  79.     return False
  80.  
  81. def grid(self):
  82.     super(GUI, self).grid() # тут ошибка...
  83.     #super(self).__init__(master=parent, text='inner').grid()
  84.     self.tk_frame_toolbar.grid(row=0, column=0)
  85.  
  86.     self.tk_frame_toolbar.rowconfigure('all', minsize=WINDOW_TOOLBAR_HEIGHT)
  87.  
  88.     width_label_toolbar = (float(WINDOW_WIDTH - WINDOW_TOOLBAR_HEIGHT)) / 2.0
  89.     self.tk_frame_toolbar.columnconfigure(0, minsize=width_label_toolbar - 5)
  90.     self.tk_frame_toolbar.columnconfigure(1, minsize=WINDOW_TOOLBAR_HEIGHT)
  91.     self.tk_frame_toolbar.columnconfigure(2, minsize=width_label_toolbar - 5)
  92.  
  93.     self.tk_frame_main.grid(row=1, column=0)
  94.     self.is_grid = True
  95.  
  96. def show(self):
  97.     if not self.is_grid:
  98.         self.grid()
  99.     self.mainloop()
  100.      
  101. _time_begin = 1
  102. """ начало с 1й секунды """
  103.  
  104. _timer_id = False
  105. """ ID интервала таймера """
  106.  
  107. def __init__(self):
  108.     tkinter.Tk.__init__(self)
  109.     self.title(WINDOW_TITLE)
  110.     self.geometry("%sx%s" % (WINDOW_WIDTH, WINDOW_HEIGHT))
  111.  
  112.     self.tk_frame_toolbar = tkinter.Frame(self, width=WINDOW_WIDTH, height=WINDOW_TOOLBAR_HEIGHT, background="grey",
  113.                                           relief=tkinter.GROOVE, border=2)
  114.  
  115.     self.tk_frame_main = tkinter.Frame(self, width=WINDOW_WIDTH, height=(WINDOW_HEIGHT - WINDOW_TOOLBAR_HEIGHT),
  116.                                        background=WINDOW_MAIN_FRAME_COLOR_BACKGROUND, relief=tkinter.GROOVE,
  117.                                        border=2)
  118.  
  119.     self.tk_label_timer = tkinter.Label(self.tk_frame_toolbar, text="0000")
  120.     self.tk_label_timer.grid(row=0, column=0, sticky=tkinter.NSEW)
  121.  
  122.     self.tk_label_button_new = tkinter.Button(self.tk_frame_toolbar, text="NEW")
  123.     self.tk_label_button_new.grid(row=0, column=1, sticky=tkinter.NSEW)
  124.  
  125.     self.tk_label_counter = tkinter.Label(self.tk_frame_toolbar, text="00/00")
  126.     self.tk_label_counter.grid(row=0, column=2, sticky=tkinter.NSEW)
  127.  
  128. def show_all_count_mine(self):
  129.     """
  130.     Показываем общее число мин на панели
  131.     """
  132.     self.tk_label_counter['text'] = "00/%2d" % MINE_COUNT
  133.  
  134. def show_selected_count_mine(self, selected_mine):
  135.     """
  136.     Показываем расставленное число мин на панели
  137.     :type selected_mine: int
  138.     """
  139.     self.tk_label_counter['text'] = "%2d/%2d" % (selected_mine, MINE_COUNT)
  140.  
  141. def timer_start(self):
  142.     """
  143.     Включает таймер игры
  144.     """
  145.     if not self._timer_id and self._time_begin == 1:
  146.         self.timer()
  147.  
  148. def timer_stop(self):
  149.     """
  150.     Выключает таймер игры
  151.     """
  152.     if self._timer_id:
  153.         self.tk_label_timer.after_cancel(self._timer_id)
  154.         self._timer_id = False
  155.  
  156. def timer(self):
  157.     self.tk_label_timer['text'] = "%0004d" % self._time_begin
  158.     self._time_begin += 1
  159.     self._timer_id = self.tk_label_timer.after(1000, self.timer)
  160.  
  161. def game_over(self):
  162.     """
  163.     Показываем окно с поражением
  164.     :return:
  165.     :rtype: bool
  166.     """
  167.     self.timer_stop()
  168.     tkMessageBox.showerror(GAME_OVER_WINDOW_TITLE, GAME_OVER_MESSAGE)
  169.     return False
  170.  
  171. def game_winner(self):
  172.     """
  173.     Показываем окно с победой
  174.     :return:
  175.     :rtype: bool
  176.     """
  177.     self.timer_stop()
  178.     tkMessageBox.showinfo(WINNER_WINDOW_TITLE, WINNER_MESSAGE)
  179.     return False
  180.  
  181. def grid(self):
  182.     super(GUI, self).grid() # тут ошибка...
  183.     #super(self).__init__(master=parent, text='inner').grid()
  184.     self.tk_frame_toolbar.grid(row=0, column=0)
  185.  
  186.     self.tk_frame_toolbar.rowconfigure('all', minsize=WINDOW_TOOLBAR_HEIGHT)
  187.  
  188.     width_label_toolbar = (float(WINDOW_WIDTH - WINDOW_TOOLBAR_HEIGHT)) / 2.0
  189.     self.tk_frame_toolbar.columnconfigure(0, minsize=width_label_toolbar - 5)
  190.     self.tk_frame_toolbar.columnconfigure(1, minsize=WINDOW_TOOLBAR_HEIGHT)
  191.     self.tk_frame_toolbar.columnconfigure(2, minsize=width_label_toolbar - 5)
  192.  
  193.     self.tk_frame_main.grid(row=1, column=0)
  194.     self.is_grid = True
  195.  
  196. def show(self):
  197.     if not self.is_grid:
  198.         self.grid()
  199.     self.mainloop()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top