我正在编写一个自定义Python类,它简化了与tkinter的交互,因此我可以简化编写自己的GUI应用程序的过程。到目前为止,它很棘手,但进展稳定,而且运作良好。
但是,我遇到了特定的意外行为,我无法查明原因。当我定义一个具有行跨的元素时,它不会扩展以适应我指定的行数。
以下是我当前输出的屏幕截图:
屏幕截图中的GUI按照指定的顺序定义:
带有"拉伸后的标签"添加到11,0
正如您在上面的屏幕截图中看到的那样,rowspan似乎与设置的rowspan不匹配。
以下是相关代码:
self.frame = tkinter.Frame(self.frame, borderwidth=1, relief=border)
self.frame.grid(row=self.grid_y, column=self.grid_x,
columnspan=self.grid_x_span, rowspan=self.grid_y_span,
padx=5, pady=5, sticky="nsew")
print("Frame:")
print("X,Y:",self.grid_x,self.grid_y)
print("X,Y Spans:",self.grid_x_span, self.grid_y_span)
...这里是打印输出,显示生成此输出时变量的值:
Frame:
X,Y: 1 0
X,Y Spans: 1 1
Frame:
X,Y: 2 0
X,Y Spans: 1 2
Frame:
X,Y: 3 0
X,Y Spans: 1 3
Frame:
X,Y: 4 0
X,Y Spans: 1 4
Frame:
X,Y: 5 0
X,Y Spans: 1 5
Frame:
X,Y: 6 0
X,Y Spans: 1 6
Frame:
X,Y: 7 0
X,Y Spans: 1 7
Frame:
X,Y: 8 0
X,Y Spans: 1 8
Frame:
X,Y: 9 0
X,Y Spans: 1 9
Frame:
X,Y: 10 0
X,Y Spans: 1 10
为什么会发生这种情况的任何想法?当我对rowpan进行硬编码时,它仍然表现出这种行为。