I am messing around a bit with tkinter in python, and i want to add some buttons to my canvas screen. But when i run the script, the button is not showing up on the screen. It's a little complicated, but I am creating buttons from a for-loop, then appending them in a list.
This is my code:
from tkinter import *
class Application:
def __init__(self):
self.window = Tk()
self.window.geometry("1280x720")
self.window.resizable(False, False)
self.initHomeWindow()
self.window.mainloop()
def initHomeWindow(self):
def initButtons():
self.buttonList = []
self.button_load = {}
self.button = {}
imgInfo = [
['Abs', '105', '425.97', '310'], #1st one is button itself, 2nd one is width of the button, 3rd one is the x-position of the button, 4th one is y-position of the button.
['Arms', '123', '425.97', '370'],
['Back', '117', '425.97', '430'],
['Calves', '128', '848', '314.5'],
['Delts', '121', '425.97', '490'],
['Glutes', '128', '848', '364.5'],
['Hams', '127', '848', '414.5'],
['Pecs', '112', '425.97', '550'],
['Quads', '128', '848', '464.5'],
['Traps', '126', '425.97', '610']
]
for x in range(len(imgInfo)):
self.button[str(imgInfo[x][0])] = Button(self.window, width=int(imgInfo[x][1]), height=49)
self.buttonList.append([self.button[str(imgInfo[x][0])], imgInfo[x][2], imgInfo[x][3]])
initButtons()
self.window.overrideredirect(False)
self.window.geometry("1280x720")
self.canvas2 = Canvas(self.window, highlightthickness=0, bg="#1b1b1b")
self.canvas2.pack(fill=BOTH, expand=TRUE)
for x in range(len(self.buttonList)):
self.canvas2.create_window(float(self.buttonList[x][1]), float(self.buttonList[x][2]), window=self.buttonList[x][0])
Application()
When I run the script, the button is not showing up on the screen (see image)
I hope someone can help me with this problem, thanks in advance!