I have the following code to create a button in Tkinter:
button = Button(self.parent_frame, width=100, height=100)
frame = Frame(button)
label = Label(frame, text="This is a button")
Theoretically, yes, a button can have children. I suspect the behavior is undefined for platforms that use native widgets (ie: OSX and Windows).