3

私はPyGObjectを使用していますが、これはすべてのGTKに適用できる質問だと思います。したがって、誰かがCを使用してそれを行う方法を知っていれば、Pythonでも機能するはずです。

アクティブと非アクティブの2つのツリービューがあり、Sqliteデータベースからデータをロードし、アイテムを一方から他方にスワップおよびドラッグアンドドロップできます。これは単なる麻酔です。一方のツリービューで1つのアイテムをクリックすると、もう一方の前に選択したアイテムの選択を解除する必要があります。

ネット上で何も見つからなかったので、誰も同じようなことをする必要はなかったようです。

4

2 に答える 2

2

基本的すぎるリスク(おそらく私は問題を誤解している)で、ツリービューの選択を操作するには、GtkTreeSelectionから返されたオブジェクトを使用しますGtkTreeView.get_selection。このオブジェクトの信号にアタッチしたり、現在の選択を変更したりできます。

于 2012-05-21T17:47:28.920 に答える
0

他のビューで選択をオフにするには、その選択モードプロパティを取得して、に設定しGTK_SELECTION_NONEます。クリックしてオンに戻すには、grab-focus信号をキャッチし、そのビューで選択モードをシングルに設定し、他のビューで選択モードをなしに設定できると思いました。

 (connect view-1 'grab-focus
       (lambda args
         (set-mode (gtk-tree-view-get-selection view-1) "GTK_SELECTION_SINGLE")
         (set-mode (gtk-tree-view-get-selection view-2) "GTK_SELECTION_NONE")))

(そのコードはguile-gnomeラッパーを使用していますが、概念はどの言語バインディングでも同じである必要があります。)このアプローチの問題は、選択を行うために、ツリービューを2回クリックする必要があることです。 、そして再び選択を行います。

于 2012-05-21T15:44:15.223 に答える