In the below example, I am trying to use Frame1() in MainW(). I tried many variations of the below code. The problem is that the frame object color and rowspan are not changing at all. I know there is a problem in terms of using Frame1() in MainW(). Can someone point out the error?
from tkinter import *
class Frame1(Frame):
def __init__(self, parent):
Frame.__init__(self, parent, bg="red")
self.parent = parent
self.widgets()
def widgets(self):
self.text = Text(self)
self.text.insert(INSERT, "Hello World\t")
self.text.insert(END, "This is the first frame")
self.text.grid(row=0, column=0)
class MainW(Tk):
def __init__(self, parent):
Tk.__init__(self, parent)
self.parent = parent
self.mainWidgets()
def mainWidgets(self):
self.label = Label(self, text="Main window label")
self.label.grid(row=0, column=0)
self.window = Frame1(self)
self.window.grid(row=0, column=10, rowspan=2)
if __name__=="__main__":
app = MainW(None)
app.mainloop()
Here is the output which is not what I want. I need the frame's background red and rowspan to be 1:

Thank you

Text()and you can't see frame color.Text()isn't transparent - it has own color.