Да, вы можете создавать кнопки в oop. Если бы я делал график размещения, я бы начал с определения того, как он выглядит, с помощью простой структуры данных, которая позволяет легко визуализировать макет.
Например:
rows = {
"a": " xxxx xxxxxxxx xxxx",
"b": "xxxxxx xxxxxxxx xxxxxx",
"c": "xxxxxx xxxxxxxx xxxxxx",
}
Затем вы можете выполнять итерации по этим данным, размещая место везде, где есть "x".
Например:
for row_number, row_letter in enumerate(rows.keys()):
for seat_number, c in enumerate(rows[row_letter]):
if c == "x":
seat = tk.Button(frame1, ...)
seat.grid(row=row_number, column=seat_number)