2016-07-05 13 views
1

RP0でGUIを作成して、スクロールバーを使わずに自分のiPhoneのようにリストボックスをスクロールできるようにしたいと思います。言い換えれば、リストボックスに触れ、指を上下にフリックするだけでスクロールすることができます。スクロールバーなしでTkinterリストボックスをスクロールすることはできますか?

このスクロール方法は、TkinterやRPi用のGUIで行うことができますか?

+1

[Kivy](https://kivy.org/#home)をご覧になることをお勧めします。 Tkinterは、基本的な旧式のデスクトップアプリケーションに適しています。 –

答えて

1

はいです。

スクロールバーのバインディングの仕組みを見てください。

希望の効果をどのように達成できますか? Bin Mouse-Moveイベント(タッチ移動は他に何もありません)を使用して、それを使用して、必要なスクロールに応じてyview/xviewに接続します。

(例えば、コールバックの内側方向にマウスの動きをチェックし、スクロールイベントをトリガするために、その情報を使用しています。)

をさらに支援が必要な場合は、私たちに知らせてください。

編集:

ここではいくつかの「ダミー・コード」...

# this is your callback bound to mouse-move event 
def mouse_move_callback(event): 
    # use event.y with a previous remembered y value to determine 
    # directions 
    directions = 1 # just as an example, could also be -1 

    # scroll the listbox vertically. 
    # to increase scrolling speed, either multiply counter by some value >1 
    # or replace 'units' which means scroll 1 character in the current setting 
    # by 'pages' for larger steps. 'pages' should scroll the visible 
    # area of the listbox further. 
    listbox.yview_scroll(1, 'units') 

ます。また、アクションをトリガーするために、マウスのボタンを押すとマウスボタンのリリースを使用することができます。マウスボタンを押すと、y値(スクロールの開始)が保存され、マウスボタンのリリースは上記のコールバックにバインドされます。

+0

サンプルコードを親切に共有できる可能性はありますか? – 3kstc

+0

ダミーコードの実装が追加されました – R4PH43L

+0

これで問題が解決した場合は、回答を受け入れて他のユーザーに知らせてください。 – R4PH43L

関連する問題