1 背景
当我们在tkinter-GUI编程时,需要考虑如下场景的需求:用户需要动态调整子窗口的大小,以改变信息的可见范围。
这时候,就需使用到推拉窗组件,Panedwindow。
推拉窗根据推拉方向不同分为水平推拉窗和垂直推拉窗两种,并支持嵌套。
2 环境
Python 3.7.3 64-bit
3 水平方向推拉窗
from tkinter import NSEW, HORIZONTAL
from tkinter import ttk
from text.scrolled_text import EScrolledText
from frame.frame import EFrame
class FrameOutput(EFrame):
TEXT_STDOUT_NAME = "OUTPUT - stdout"
TEXT_STDERR_NAME = "OUTPUT - stderr"
def __init__(self, master=None, **kw):
super().__init__(master=master, **kw) # Frame初始化
self.rowconfigure(0, weight=1) # 设置行权重
self.columnconfigure(0, weight=1) # 设置列权重
# 添加水平方向(HORIZONTAL)的推拉窗组件
self.paned_win_h = ttk.Panedwindow(self, orient=HORIZONTAL)
# 采用GRID布局,推拉窗放置在第1行第1列,