Вставка нескольких холстов в сетку приводит к сбою программы - PullRequest
1 голос
/ 29 октября 2019

Я делаю программу с несколькими кнопками и тремя изображениями, используя tkinter и геометрию сетки, но когда я пытаюсь вставить более одного холста в сетку, программа вылетает при запуске. Я попытался запустить программу с тремя изображениями по отдельности и все работает, но когда я ставлю более одного одновременно, она вылетает. Я ничего не нашел в сети, вы знаете, в чем может быть проблема?

import socket
import struct
import time


root = Tk()               
root.configure(background='CadetBlue2')
root.geometry('720x480')

root.grid_columnconfigure((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), weight=1)
root.grid_rowconfigure((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15), weight=1)

#canvas

canvas = Canvas(root, highlightthickness=0, bg = "blue2", width=20, height=90)      
canvas.pack()
canvas.grid(row=1, column = 3,  columnspan = 18, rowspan = 3)

canvasfisica = Canvas(root, highlightthickness=0, bg = "pink", width=180, height=180)
canvasfisica.pack()
canvasfisica.grid(row=8, column = 1,  columnspan = 6, rowspan = 6)


canvasvirtual = Canvas(root, highlightthickness=0, bg = "red", width=180, height=180)      
canvasvirtual.pack()
canvasvirtual.grid(row=8, column = 17,  columnspan = 6, rowspan = 6)

#Labels

lineafisica= Label(root, text = "Línea fisica", font=("Helvetica", 14), justify = CENTER)
lineafisica.configure(background='Blue')
lineafisica.grid(row=5, column = 1,  columnspan = 10, rowspan=2)
lineavirtual= Label(root, text = "Linea virtual", font=("Helvetica", 14), justify = CENTER)
lineavirtual.configure(background='Blue')
lineavirtual.grid(row=5, column = 13,  columnspan = 10, rowspan=2)

#Buttons

btnstart = Button(root, text = 'Iniciar', bd = '2')
btnstart.configure(background='DarkOliveGreen1')
btnstart.grid(row=8, column = 7,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart2 = Button(root, text = 'Parar', bd = '2')
btnstart2.configure(background='firebrick1')
btnstart2.grid(row=10,  column = 7,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart5 = Button(root, text = 'Reiniciar', bd = '2')
btnstart5.grid(row=12,  column = 7,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart5.configure(background='yellow')


btnstart3 = Button(root, text = 'Iniciar', bd = '2',)
btnstart3.grid(row=8, column = 13,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart3.configure(background='DarkOliveGreen1')
btnstart4 = Button(root, text = 'Parar', bd = '2')
btnstart4.grid(row=10,  column = 13,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart4.configure(background='firebrick1')
btnstart6 = Button(root, text = 'Pulsador', bd = '2')
btnstart6.grid(row=12,  column = 13,  rowspan = 2,  columnspan = 4, sticky='nsew')
btnstart6.configure(background='yellow')


root.mainloop()

1 Ответ

4 голосов
/ 29 октября 2019

Вы не можете использовать pack и grid вместе ... удалите строки с помощью "pack ()" и попробуйте еще раз запустить код, он должен работать.

Пожалуйста, прочитайте больше о pack и gridв этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...