Фон Tkinter с перекрывающимися кнопками? - PullRequest
0 голосов
/ 19 декабря 2018

Я сделал табло и хочу добавить в него фон.Если я не использую фоновое изображение, мои кнопки будут отображаться, но когда я использую фоновое изображение, мои кнопки «исчезают».Это маленький кусочек моего кода, как я могу разместить кнопку перед фоном ?.Спасибо за помощь.

from tkinter import *


player1health = 100
player2health = 100
player3health = 100
player4health = 100


class Window(Frame):

    def __init__(self, master = None):
        Frame.__init__(self, master)
        self.master = master
        self.init_window()

    def init_window(self):
        self.master.title("Scoreboard")
        self.pack(fill=BOTH, expand = 1)

        # Background
        image1 = PhotoImage(file="C:/Users/Ahmet/OneDrive/Desktop/SC/achtergrond1.png")
        w = image1.width()
        h = image1.height()
        root.geometry("600x500")
        panel1 = Label(root, image=image1)
        panel1.pack(side='top', fill='both', expand='yes')
        panel1.image = image1

        #Player1
        self.Name1 = Label(root, text = input("Name player 1: "), font=("Helvetica", 16))
        self.Name1.place(x=80,y=50)

        #scoretracker
        self.Score1 = Label(root,text= 'Score:' )
        self.Score1.place(x=55, y=80)

        self.L1 = Label(root,text= player1health )
        self.L1.place(x=100, y=80)

        self.HP1 = Label(root,text= 'HP' )
        self.HP1.place(x=125, y=80)

        self.add = Label(root, text = "Add",font=("Helvetica", 13))
        self.add.place(x = 30,y=120)
        #button
        player_1_add_10_Button = Button(self, text = "10 HP",)
        player_1_add_10_Button.place(x=30,y=140)

        player_1_add_20_Button = Button(self, text = "20 HP",)
        player_1_add_20_Button.place(x=30,y=170)

        player_1_add_30_Button = Button(self, text = "30 HP",)
        player_1_add_30_Button.place(x=30,y=200)


root = Tk()
root.geometry("600x500")
root.configure(background="light blue")
Label(root, text='Scoreboard:', bg= 'light blue').pack()

app = Window(root)
root.mainloop()

1 Ответ

0 голосов
/ 20 декабря 2018

Метка, содержащая фоновое изображение, является подчиненной root.То же самое относится и к меткам, которые вы создаете в функции init_window(), но кнопки являются рабами для self.

Итак, вместо:

panel1 = Label(root, image=image1)

попробуйте

panel1 = Label(self, image=image1)

И сделайте тоже самое для всех кнопок.Это должно работать лучше.

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