前:Pythonの- (17)Tkinterのウィジェット:スピンボックス
Tkinterの区画ウィンドウウィジェット
はじめに##
区画ウィンドウのコンポーネント(Tk8.4新しい)は空間管理コンポーネントです。フレーム同様の構成要素は、アセンブリのためのフレームワークを提供することですが、区画ウィンドウは、ユーザが空間分割の適用を調整することができるようにしましょう。
区画ウィンドウ##のコンポーネントを使用する場合は?
あなたが時間を調整するためにユーザが利用可能なマルチスペースのためのフレームワークを提供する必要があるときは、区画ウィンドウのコンポーネントを使用することができます。区画ウィンドウアプライアンスが各サブアセンブリのための独立のウィンドウを生成し、ユーザが自由にウィンドウのサイズを調整することができます。
##使い方
2ペイン区画ウィンドウコンポーネントを作成することは非常に簡単です:
from tkinter import *
m = PanedWindow(orient=VERTICAL)
m.pack(fill=BOTH,expand=1)
top = Label(m,text="top pane")
m.add(top)
bottom = Label(m,text="bottom pane")
m.add(bottom)
mainloop()
(分析:シンプルなフレームワークは、例えば、に分割されているオブジェクトをインスタンス化するとき、彼は、約デフォルトで区切られているため、2つのペイン、上下、または左右、区画ウィンドウの上には、オリエントVERTICALに提供されますパックは、フレームカバーBOTHグローバルオプションは、再度ラベル2は、上および下にそれぞれ表示するためのメソッドを追加するように提供されたときにタテタテは彼が分布の注意に持って来られたことを、ここに来ると、
図1は、ちょうどショットを取得するために実行し始め、そして、使用フレームは、それらを離れて引っ張った後、彼の発見を何の違いああを見つけていない、とあなたはDiudiu以下の「上部ペイン」上にマウスを置くときに、あなたのスタイルを変更するには、マウスを見つけるだろうマウスの左ボタンをドラッグすることにより、あなたは)あなたが推測することができるようにDiudiuは、分割線である下に、このような第三のショットとして、「上部のペインを」自分のレイアウトを変更することができますが、表示されていないことがわかりました
あなたはいくつかのヒントを必要とする3ペイン区画ウィンドウコンポーネントの作成:
from tkinter import *
m1 = PanedWindow()
m1.pack(fill=BOTH,expand=1)
left = Label(m1,text="left pane")
m1.add(left)
m2 = PanedWindow(orient=VERTICAL)
m1.add(m2)
top = Label(m2,text="top pane")
m2.add(top)
bottom = Label(m2,text="bottom pane")
m2.add(bottom)
mainloop()
(分析:まず、第1の小ペインを取る、デフォルトは周りにある、左=ラベル(M1、テキスト=「左ペイン」)は良いが去った後に作成され、VERTICALのための東洋とオプションを設定し、その後インスタンス化A PaneWindow右、 M1に追加することで良いの例の後垂直、その後、音符にm1.addさ(㎡)、m1は右側にあり、そのため残っているラベルで、右がこのPaneWindowに基づいて、その後PaneWindowで、 2枚のラベルを作成します
実行した後に)まだ彼らは隠されたラインを持って、私たちが見ることができないことを、自分の位置を移動することができますが、ゆっくりと彼を感じてもらうために、マウスを使用することができます
インスタンス化された区画ウィンドウは、それらを見ることができたときに私達はちょうど「showhandle」オプションと「ashrelief」オプションを設定します
from tkinter import *
m1 = PanedWindow(showhandle = True,sashrelief=SUNKEN)
m1.pack(fill=BOTH,expand=1)
left = Label(m1,text="left pane")
m1.add(left)
m2 = PanedWindow(orient=VERTICAL,showhandle = True,sashrelief=SUNKEN)
m1.add(m2)
top = Label(m2,text="top pane")
m2.add(top)
bottom = Label(m2,text="bottom pane")
m2.add(bottom)
mainloop()
(分析:showhandleオプションがTrueに設定されている区画ウィンドウインスタンス化するときで、ashreliefオプションは、分割線は、それのスタイルは「沈没」に設定されている、ある凹面にある。
その小さな広場には、我々は、ハンドルにそれを呼ぶことにします限り、あなたは除行にマウスを置くと、あなたは、あなたが小さな正方形のhandlesizeを設定することであるハンドルの位置を設定することができ、その位置を調整することができ、彼はデフォルトでは)非常に近い位置のエッジに8つのピクセルです
##パラメータ
区画ウィンドウ(マスター=なし、**オプション)(クラス)
マスター - 親コンポーネント
**オプション - 各オプションのコンポーネントオプション、テーブルの詳細以下の特定の意味と用法:
オプション | 意味 |
バックグラウンド | 背景色を設定 |
BG | 背景のように |
borderwidth | 境界線の幅を設定します。 |
BD | borderwidthのように |
カーソル | 1.マウス区画ウィンドウ漂流パターン上にマウス際に指定します 。2.デフォルト値がシステムによって指定されています |
handlepad | 1. 调节“手柄”的位置 2. 例如 orient="vertical",则 handlepad 选项表示“分割线”上的手柄与左端的距离 3. 默认值是 8 像素 |
handlesize | 1. 设置“手柄”的尺寸(由于“手柄”必须是一个正方形,所以是设置正方形的边长) 2. 默认值是 8 像素 |
height | 1. 设置 PanedWindow 的高度 2. 如果忽略该选项,则高度由子组件的尺寸决定 |
opaqueresize | 1. 该选项定义了用户调整窗格尺寸的操作 2. 如果该选项的值为 True(默认),窗格的尺寸随用户鼠标的拖拽而改变 3. 如果该选项的值为 False,窗格的尺寸在用户释放鼠标的时候才更新到新的位置 |
orient | 1. 指定窗格的分布方式 2. 可以是 "horizontal"(横向分布)和 "vertical"(纵向分布) |
relief | 1. 指定边框样式 2. 默认值是 "flat" 3. 另外你还可以设置 "sunken","raised","groove" 或 "ridge" |
sashpad | 设置每一条分割线到窗格间的间距 |
sashrelief | 1. 设置分割线的样式 2. 默认值是:"flat" 3. 另外你还可以设置 "sunken","raised","groove" 或 "ridge" |
sashwidth | 设置分割线的宽度 |
showhandle | 1. 设置是否显示调节窗格的手柄 2. 默认值为 False |
width | 1. 设置 PanedWindow 的宽度 2. 如果忽略该选项,则高度由子组件的尺寸决定 |
##方法
add(child, **options)
– 添加一个新的子组件到窗格中
– 下方表格列举了各个 options 选项具体含义:
选项 | 含义 |
after | 添加新的子组件到指定子组件后边 |
before | 添加新的子组件到指定子组件前边 |
height | 指定子组件的高度 |
minsize | 1. 该选项控制窗格不得低于的值 2. 如果 orient="horizontal",表示窗格的宽度不得低于该选项的值 3. 如果 orient="vertical",表示窗格的高度不得低于该选项的值 |
padx | 指定子组件的水平间距 |
pady | 指定子组件的垂直间距 |
sticky | 1. 当窗格的尺寸大于子组件时,该选项指定子组件位于窗格的位置 2. 可选的值有:"e"、"s"、"w"、"n"(分别代表东南西北四个方位)以及它们的组合值 3. 例如 NE 表示子组件显示在右上角的位置 |
width | 指定子组件的宽度 |
forget(child)
– 删除一个子组件
identify(x, y)
– 给定一个坐标(x, y),返回该坐标所在的元素名称
– 如果该坐标位于子组件上,返回空字符串
– 如果该坐标位于分割线上,返回一个二元组(n, ‘sash’),n 为 0 表示第一个分割线
– 如果该坐标位于手柄上,返回一个二元组(n, ‘handle’),n 为 0 表示第一个手柄
panecget(child, option)
– 获得子组件指定选项的值
paneconfig(child, **options)
– 设置子组件的各种选项
– 下方表格列举了各个 options 选项具体含义:
选项 | 含义 |
after | 添加新的子组件到指定子组件后边 |
before | 添加新的子组件到指定子组件前边 |
height | 指定子组件的高度 |
minsize | 1. 该选项控制窗格不得低于的值 2. 如果 orient="horizontal",表示窗格的宽度不得低于该选项的值 3. 如果 orient="vertical",表示窗格的高度不得低于该选项的值 |
padx | 指定子组件的水平间距 |
pady | 指定子组件的垂直间距 |
sticky | 1. 当窗格的尺寸大于子组件时,该选项指定子组件位于窗格的位置 2. 可选的值有:"e"、"s"、"w"、"n"(分别代表东南西北四个方位)以及它们的组合值 3. 例如 NE 表示子组件显示在右上角的位置 |
width | サブアセンブリの幅を指定します。 |
paneconfigure(子供、**オプション)
- paneconfigと()など
ペイン()
-リストの形でサブアセンブリ戻ります
削除(子供)
-今忘れ()など
sash_coord(索引)
-タプルは、分割線を表す座標開始指定返品
sash_dragto(インデックス、X、Y)は、
-指定された分割線を新しい位置にドラッグ達成する
sash_markで実装します() -
sash_mark(インデックス、X、Y)
-登録現在のマウス位置
sash_place(インデックス、X、Y)
-指定された分割線が新しい場所に移動します
次へ: