Python-tk-listbox

提供:Dev Guides
移動先:案内検索

Python-Tkinterリストボックス

リストボックスウィジェットは、ユーザーが多数のアイテムを選択できるアイテムのリストを表示するために使用されます。

構文

このウィジェットを作成するための簡単な構文は次のとおりです-

w = Listbox ( master, option, ... )

パラメーター

  • master -これは親ウィンドウを表します。
  • オプション-これは、このウィジェットで最も一般的に使用されるオプションのリストです。 これらのオプションは、カンマで区切られたキーと値のペアとして使用できます。
Sr.No. Option & Description
1

bg

ラベルとインジケータの背後に表示される通常の背景色。

2

bd

インジケーターの周囲の境界線のサイズ。 デフォルトは2ピクセルです。

3

cursor

マウスがリストボックス上にあるときに表示されるカーソル。

4

font

リストボックス内のテキストに使用されるフォント。

5

fg

リストボックス内のテキストに使用される色。

6

height

リストボックスに表示される行数(ピクセルではありません!)。 デフォルトは10です。

7

highlightcolor

ウィジェットにフォーカスがある場合、フォーカスに表示される色が強調表示されます。

8

highlightthickness

フォーカスハイライトの厚さ。

9

relief

3次元のボーダーシェーディング効果を選択します。 デフォルトはSUNKENです。

10

selectbackground

選択したテキストの表示に使用する背景色。

11

selectmode

選択できるアイテムの数、およびマウスのドラッグが選択に与える影響を決定します-

  • BROWSE -通常、リストボックスから選択できるのは1行のみです。 アイテムをクリックしてから別の行にドラッグすると、選択はマウスに追従します。 これがデフォルトです。
  • SINGLE -1行のみ選択でき、マウスをドラッグすることはできません。ボタン1をクリックすると、その行が選択されます。
  • 複数-任意の数の行を一度に選択できます。 行をクリックすると、選択されているかどうかが切り替わります。
  • 拡張-最初の行をクリックして最後の行にドラッグすると、隣接する行グループを一度に選択できます。
12

width

ウィジェットの幅(文字数)。 デフォルトは20です。

13

xscrollcommand

ユーザーがリストボックスを水平方向にスクロールできるようにする場合は、リストボックスウィジェットを水平スクロールバーにリンクできます。

14

yscrollcommand

ユーザーがリストボックスを垂直にスクロールできるようにする場合は、リストボックスウィジェットを垂直スクロールバーにリンクできます。

方法

リストボックスオブジェクトのメソッドが含まれます-

Sr.No. Option & Description
1

activate ( index )

指定されたインデックスで指定された行を選択します。

2

curselection()

0からカウントして、選択した要素の行番号を含むタプルを返します。 何も選択されていない場合、空のタプルを返します。

3

delete ( first, last=None )

インデックスが[first、last]の範囲にある行を削除します。 2番目の引数が省略された場合、最初のインデックスを持つ単一行が削除されます。

4

get ( first, last=None )

最初から最後までのインデックスを持つ行のテキストを含むタプルを返します。 2番目の引数を省略すると、最初に最も近い行のテキストを返します。

5

index ( i )

可能であれば、インデックスiを含む行がウィジェットの一番上になるように、リストボックスの表示部分を配置します。

6

insert ( index, *elements )

indexで指定された行の前のリストボックスに1つ以上の新しい行を挿入します。 リストボックスの最後に新しい行を追加する場合は、ENDを最初の引数として使用します。

7

nearest ( y )

リストボックスウィジェットに相対的なy座標yに最も近い可視線のインデックスを返します。

8

see ( index )

インデックスによって参照される行が表示されるように、リストボックスの位置を調整します。

9

size()

リストボックスの行数を返します。

10

xview()

リストボックスを水平方向にスクロール可能にするには、関連する水平スクロールバーのコマンドオプションをこのメソッドに設定します。

11

xview_moveto ( fraction )

リストボックスをスクロールして、その最長行の幅の左端の部分がリストボックスの左側の外側になるようにします。 分数の範囲は[0,1]です。

12

xview_scroll ( number, what )

リストボックスを水平にスクロールします。 what引数には、UNITSを使用して文字でスクロールするか、PAGESを使用してページで、つまりリストボックスの幅でスクロールします。 number引数は、スクロールする数を示します。

13

yview()

リストボックスを垂直にスクロール可能にするには、関連する垂直スクロールバーのコマンドオプションをこのメソッドに設定します。

14

yview_moveto ( fraction )

リストボックスをスクロールして、最長行の幅の一番上の部分がリストボックスの左側の外側になるようにします。 分数の範囲は[0,1]です。

15

yview_scroll ( number, what )

リストボックスを垂直にスクロールします。 what引数には、UNITSを使用して行ごとにスクロールするか、PAGESを使用してページごと、つまりリストボックスの高さごとにスクロールします。 number引数は、スクロールする数を示します。

自分で次の例を試してください-

from Tkinter import *
import tkMessageBox
import Tkinter

top = Tk()

Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")

Lb1.pack()
top.mainloop()

上記のコードが実行されると、次の結果が生成されます-

TKリストボックス