Я создаю игру Simonsays и разделяю на 3 файла. Файл table.py содержит:
from tkinter import *
import random
class Table:
def __init__(self, parent):
self.parent = parent
self.canvas = Canvas(self.parent, height=400, width=400) #tk.
self.canvas.pack()
self.dark = {'r':'darkred', 'g':'darkgreen', 'b':'darkblue', 'y':'darkgoldenrod'}
self.light = {'r':'red', 'g':'green', 'b':'blue', 'y':'goldenrod'}
self.squares = {'r':self.canvas.create_rectangle(0, 0, 200, 200,
fill='darkred', outline='darkred'),
'g':self.canvas.create_rectangle(200, 0, 400, 200,
fill='darkgreen', outline='darkgreen'),
'b':self.canvas.create_rectangle(0, 200, 200, 400,
fill='darkblue', outline='darkblue'),
'y':self.canvas.create_rectangle(200, 200, 400, 400,
fill='darkgoldenrod', outline='darkgoldenrod')}
self.status = Label(text='Good luck!')
self.status.pack(side=BOTTOM, fill=X)
В файле плеера, в основном, есть несколько методов работы игры. Когда я запускаю файл main_menu (тот, что ниже), все работает без сбоев, кроме одной вещи. Строка состояния, которая является меткой из файла таблицы (которая должна быть в окне игры), упакована в окне main_menu. В чем причина этого? (Я все еще новичок, так что не будь слишком резким, если это глупая ошибка ^ _ ^ и заранее спасибо)
from tkinter import *
from table import Table
from player import Player
class Window():
def __init__(self, master):
self.master = master
self.master.geometry('300x100')
self.master.title('Simon says')
self.label1 = Label(self.master, text = 'Welcome to the simon says game', fg='red').pack()
self.button1 = Button(self.master, text = 'Start game',fg = 'blue', command =self.start_game).pack()
self.button2 = Button(self.master, text = 'Quit game',fg = 'blue', command =self.quit_game).pack()
def start_game(self):
root2 = Toplevel(self.master)
table = Table(root2)
player = Player(table)
def quit_game(self):
self.master.destroy()
def main():
root = Tk()
my_main_menu= Window(root)
root.mainloop()
if __name__ == '__main__':
main()
Дополнительный вопрос: есть ли в tkinter простая функция использовать картинку для фона для главного меню?