前:Pythonの- (7)Tkinterのウィジェット:リストボックス
Tkinterのスクロールバーウィジェット
はじめに##
スクロールバー(スクロールバー)可視域のいくつかのコンポーネントの組立圧延、垂直スクロールバーと水平スクロールバーの方向に応じて分割することができます。スクロールバーコンポーネントは、多くの場合、スクロールテキスト、キャンバスとリストボックスを実装するために使用されます。
##スクロールバーコンポーネントを使用する場合は?
スクロールバーコンポーネントは、通常、ほとんどのテキストコンポーネント、キャンバスのコンポーネントとあるリストボックスは、コンポーネントを使用し、水平スクロールバーが今できるエントリは、コンポーネントを交配します。
私たちの例は、以下の垂直スクロールバーを使用する方法を示します。コンポーネントの垂直スクロールバーをインストールするには、2つのことを行う必要があります。
##使い方
このコンポーネントの1セットyscrollbarcommandオプションが設定されているスクロールバーコンポーネント()メソッド。
2.コンポーネントのスクロールバーコンポーネントyviewコマンドオプション()メソッド。
from tkinter import *
root = Tk()
sb = Scrollbar(root)
sb.pack(side=RIGHT,fill=Y)
lb = Listbox(root,yscrollcommand=sb.set)
for i in range(1000):
lb.insert(END,i)
lb.pack(side = LEFT,fill=BOTH)
sb.config(command=lb.yview)
mainloop()
(分析:まず、リストボックスを増やし、ポンド=リストボックス(ルート、 yscrollcommand = sb.set) リストボックスにこのコンポーネントに加えて、スクロールバーを与えるために、あなたはyscrollcommandまたはxscrollcommandオプション設定する必要があります(垂直スクロールは水平スクロールである)、この二つの値のスクロールバーオブジェクトインスタンスはSB方式に設定され
、その後、単にスクロールバー相互接続を維持し、最初の条件を完了したほかは)(ピック後、コンテンツリストボックスコンポーネントを追加することを循環、その後もありますスクロールバーコマンドオプション、sb.config(コマンド= lb.yview)を設定する必要があり、その後、あなたが直接彼の値を設定するには、オブジェクトの設定メソッドを呼び出すことができ、この時点では、ポンドがピック前に生産されたので、ことに留意すべきですそして、同じようyview方法リストボックスコンポーネントのコンポーネントのコマンドオプションを展開してセットSBにある前に、あなたが好きなものを設定している場合()が問題になる
ことは実際には、相互接続のプロセスです:聞かせてのは、どのような彼のプロセスを分析します、ユーザによるスクロール操作に応じてスクロールバーが最初、続いyviewによって()メソッド(リチウムである場合、ユーザは、スクロールバーがスクロールするように動作する場合 デフォルトのメソッドのstbox)、実際には、コンテンツの変化に対応し、縦スクロール表示を設定する方法である、コンテンツが自動的に更新され、マウスのホイールで(すなわち直接操作)をスクロールリストボックスがある場合は、その後、それはsb.setを呼び出します()メソッドは、スクロールバーの位置を変更しながら)。
##パラメータ
スクロールバー(マスター=なし、**オプション)(クラス)
マスター - 親コンポーネント
**オプション - 各オプションのコンポーネントオプション、テーブルの詳細以下の特定の意味と用法:
オプション | 意味 |
activebackground | マウスは指定された時間漂流スライダーと矢印の背景色の上にあるとき1. 2.デフォルト値がシステムによって指定されます |
activerelief | 1.スライダーとき漂流以上の指定されたスタイルのマウス 2.デフォルト値は「上げ」され 、「沈没」3.「フラット」を選択することができ、 「溝」、「尾根」 |
バックグラウンド | 背景色の指定1. 2.デフォルト値がシステムによって指定されます |
BG | 背景のように |
borderwidth | 1フレームの幅を指定します 。2.デフォルト値は0です |
BD | borderwidthのように |
コマンド | コールバック関数は、スクロールバー更新1. 2は、一般的に(のXViewの成分を対応する指定された)またはyview()メソッド |
カーソル | マウスのスタイルの上にマウス際漂流指定1. 2.は、デフォルト値がシステムによって指定されています |
elementborderwidth | 1.幅スクロールバーと矢印の境界線を指定します 。2.デフォルト値は-1(使用borderwidthオプションを示す値) |
highlightbackground | 1.指定された色は、スクロールバーがフォーカス枠をハイライト表示されたときに得られない場合 2.デフォルト値はシステムによって指定されています |
highlightcolor | フォーカスカラーボーダー強調表示するときに、スクロールバーが得られたときに指定します。1. 2.をデフォルト値がシステムによって指定されています |
highlightthickness | 1.ハイライトの境界線の幅を指定します 。2.デフォルト値は0である(国境なしで強調表示) |
ジャンプ | 1. 指定当用户拖拽滚动条时的行为 2. 默认值是 False,滚动条的任何一丝变动都会即刻调用 command 选项指定的回调函数 3. 设置为 True 则当用户松开鼠标才调用 |
orient | 1. 指定绘制 "horizontal"(垂直滚动条)还是 "vertical"(水平滚动条) 2. 默认值是 VERTICAL |
relief | 1. 指定边框样式 2. 默认值是 "sunken" 3. 可以选择 "flat","raised","groove","ridge" |
repeatdelay | 1. 该选项指定鼠标左键点击滚动条凹槽的响应时间 2. 默认值是 300(毫秒) |
repeatinterval | 1. 该选项指定鼠标左键紧按滚动条凹槽时的响应间隔 2. 默认值是 100(毫秒) |
takefocus | 1. 指定使用 Tab 键可以将焦点移到该 Scrollbar 组件上 2. 默认是开启的,可以将该选项设置为 False 避免焦点在此组件上 |
troughcolor | 1. 指定凹槽的颜色 2. 默认值由系统指定 |
width | 1. 指定滚动条的宽度 2. 默认值是 16 像素 |
##方法
activate(element)
— 显示 element 参数指定的元素的背景颜色和样式
—element 参数可以设置为:“arrow1”(箭头1),“arrow2”(箭头2)或 “slider”(滑块)
delta(deltax, deltay)
— 给定一个鼠标移动的范围 deltax 和 deltay(像素为单位,deltax 表示水平移动量,deltay 表示垂直移动量),然后该方法返回一个浮点类型的值(范围 -1.0 ~ 1.0)
— 这通常在鼠标绑定上使用,用于确定当用户拖拽鼠标时滑块的如何移动
fraction(x, y)
— 给定一个像素坐标 (x, y),该方法返回最接近给定坐标的滚动条位置(范围 0.0 ~ 1.0)
get()
— 返回当前滑块的位置 (a, b)
— a 值表示当前滑块的顶端或左端的位置,b 值表示当前滑块的底端或右端的位置(范围 0.0 ~ 1.0)
identify(x, y)
— 返回一个字符串表示指定位置下(如果有的话)的滚动条部件
— 返回值可以是:“arrow1”(箭头1),“arrow2”(箭头2)、“slider”(滑块)或 “”(啥都没有)
set(*args)
— 设置当前滚动条的位置
— 如果设置则需要两个参数 (first, last),first 表示当前滑块的顶端或左端的位置,last 表示当前滑块的底端或右端的位置(范围 0.0 ~ 1.0)