Проблема в вашем коде заключается в том, что вы добавляете tk.Label на кнопку (btn1), что не является корректной практикой в tkinter. Кнопка не предназначена для размещения виджетов внутри нее, поэтому это приводит к отображению артефактов, таких как белые полосы.
Чтобы исправить проблему, удалите часть кода, где вы пытаетесь добавлять Label внутри кнопки. Ниже приведен исправленный код:
import tkinter as tk
def listpage(): # сюда переключение страниц
pass
root = tk.Tk()
root.title("BPLA project")
root.geometry("228x407")
root.resizable(height=False, width=False)
drons = [
"пионер",
"орион",
"луч",
"гриф-к"
]
for i in range(2): # Изменено на 2 строки, так как всего 4 кнопки
for j in range(2):
btn1 = tk.Button(
root,
text=f"{drons[i * 2 + j]}"
)
btn1.grid(row=i, column=j, padx=0, pady=0)
lbl1 = tk.Label(root, text="страница")
lbl1.grid(row=2, column=0, columnspan=2) # Отображение под кнопками
root.mainloop()
Из изменений:
Удален код, добавляющий Label внутри кнопок:
label = tk.Label(btn1)
label.pack(padx=50, pady=50)
Исправлен расчет количества строк в цикле (range(2)), так как у вас 4 дрона (по 2 в строке).
Отрегулировано размещение текста "страница" (row=2 и columnspan=2) под кнопками.
Теперь ваша программа будет работать корректно без белых полосок.