問題タブ [gtktreeview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 行が強調表示されたときにcellrenderertextの前景色を設定する
がある場合gtk.CellRendererText
、そのforeground
色をツリーストアの列の1つに関連付け、foreground-set
属性をTrueに設定して、その列のテキストの色を変更できます。ただし、色付きの列のある行を選択すると、その色は消え、選択したセルの色と同じになります。選択したときに色を変更するにはどうすればよいですか?
python - シグナル中にGtkTreeViewで新しい選択を取得します
gtk.TreeView
選択内容が変更された場合はいつでも検出し、変更された場合は、この情報を使用して関数を呼び出したいと思います。これまでに私が見つけた唯一の方法は、これらすべての信号に接続することです。
ただし、コールバックから取得した選択は「遅延」しているようです。つまり、前のコールバックが完了した後の選択が表示されます。たとえば、行をCtrlキーを押しながらクリックし続けると、行が選択解除から選択された状態になると、fooには選択が与えられず、行が選択された状態から選択解除された状態になると、選択が与えられます。get_selection().get_selected()
ただし、1秒後に電話をかけると、正しい選択ができます。これでどう対処するか考えてみませんか?
python - TreeViewが再利用された後、.get_model()および.get_path()から元の行番号を取得します
だから私はこのTreeView/TreeStoreを持っており、リストからのデータを入力します。私のアプリケーションは、上記のリストのみを参照データとして使用します。TreeStoreは、表示用に構築されたばかりです。また、TreeViewは、列ヘッダーを傾けることで再利用できます。各列の初期化に.set_sort_column_id()が使用されたためです。
問題は、次のコードが常にクリックされた行番号をディスプレイに返すことです。
それをすることになっています。元のソートされていないリストが表示されている限り、これは問題なく機能します。TreeView(およびTreeStore?)が再利用されると、表示される行番号(.get_path
)は元のデータストアの行番号に対応しなくなります。
どうすればこれをマッピングできますか?または、最初に渡されたTreeViewリストのどのエントリに対応する選択されたパス番号を見つけるにはどうすればよいですか?
(もちろん、TreeStoreに偽の列を挿入して、元の行番号を保持することもできます。しかし、それを実現するための何らかのネイティブな方法が必要ですか?)
python - GtkTreeViewソート関数がNoneを含む行を受け取るのはなぜですか?
を設定しましgtk.TreeView
たgtk.TreeStore
。1つの列にはフォーマットされた金額が含まれており、次のようにその列による並べ替えを設定しました。
これは問題なく機能しますが、行を追加すると次のようになる場合があります。
さらにプリントアウトしましたが、行を挿入すると、任意のxのいずれmodel[i1][x]
かまたはforがNoneになるようです。model[i2][x]
要素を含む行を挿入していないと確信None
しています。では、どうなりますか?
python - PyGTK - gtk.TreeStore に行を追加する
ここの公式チュートリアルに従った後:チュートリアル
行の追加/ TreeIter オブジェクトの作成にまだ問題があります。私のコードは次のようになります。
python - gtk.treeviewcolumnがソートされていません
ソート可能なツリービューが機能しました。列をクリックすると昇順でソートされ、もう一度クリックすると降順でソートされます。ただし、列ヘッダーを 3 回クリックすると、昇順ではなく、「並べ替えられていない」状態になります。関数を列のclicked
信号に接続し、列の を出力し、get_sort_order()
クリックするたびにSORT_ASCENDING
、昇順、SORT_DESCENDING
降順、およびSORT_DESCENDING
「ソートされていない」状態を取得します。私のツリービューの構築は次のようなものです:
この「未分類」の状態にはなりたくありません。昇順または降順でソートしたい。「ソートされていない」状態を取り除くにはどうすればよいですか?
user-interface - gtk.TreeView 列をサイズ グループに追加する
2 つのツリービューを互いに重ねて、列を揃えたいと考えています。これを行う方法は、gtk.SizeGroup
何とか a を使用することだと思いました。ただし、gtk.TreeViewColumn
ウィジェットではありません...どうすればこれを行うことができますか?
python - gtk.treeview の列のサイズが変更されたことを検出する
列のサイズが変更されたときに検出するためにキャッチできるシグナルは何gtk.TreeView
ですか? 私はドキュメントでそれを見つけることができないようです。
python - 自動サイズ調整された場合の TreeViewColumn の幅を取得します
gtk.TreeViewColumn
サイズ変更モードが に設定されgtk.TREE_VIEW_COLUMN_AUTOSIZE
ていた場合に、現在は であっても、幅をピクセル単位で取得する方法はありgtk.TREE_VIEW_COLUMN_FIXED
ますか?
drag-and-drop - ドラッグ アンド ドロップ時にツリービューの選択が失われないようにする
gtk.Treeview
ドラッグソースとしてセットアップがあります:
にTreeSelection
設定されていSELECT_MULTIPLE
ます。
しかし、複数行の選択をドラッグしようとするたびに、カーソルが現在のマウスの位置にジャンプし、選択が現在の行にリセットされます。マウスが選択された行の 1 つの上にあっても。ShiftまたはCtrlボタンを押したままにすると機能します。
何が起こっている?
編集1:
コードのバグを除外するために最低限のツリービューを設定しましたが、同じことを行います。
編集2:
私がやりたいことをするコードスニペットを見つけました。それは、と呼ばれる quod libet ソースからのものMultiDragTreeView
です。