tkinter
复杂窗口布局实例
摘要:
如何设计出更合理的
tkinter
窗口布局,局部内容随窗口尺寸变化而变化。
tkinter
与
matplotlib
结合,在
tkinter
窗口中嵌入
matplotlib
图像,图像尺寸可以随窗口变化而相
应变化。
tkinter
控件提供了三种布局方式:
place
、
grid
、
pack
:
place
可以提供精确的控件
定位,
grid
适合表格类似的布局,
pack
提供的是相对位置的布局方式。对于简单的窗口,
特别是尺寸固定的窗口,直接将
Label
、
Entry
、
Button
的控件按以上三种方式布局即可。
但对于复杂的窗口,需要考虑各个控件的位置如何跟随窗口尺寸变化,这里需要灵活使用
三种布局方式,以及
Frame
控件。
下面实例中将会应用到三种布局方式,
tkinter
窗口中嵌入
matplotlib
绘图,并需要
自动调整画板尺寸,以适应窗口尺寸变化。
实例:
设计一个小程序,可以根据输入的数据绘制柱状图,横坐标和纵坐标的范围、刻度
可以自定义调整。效果如下:
默认尺寸下:
窗口最大化后,数据区域尺寸不变,绘图区域自动根据窗口尺寸变化: