列ヘッダーからソート矢印を削除する必要があります。これは列のset_sort_indicator(false)
を呼び出すことによって行うことができます。GtkTreeViewソート矢印を削除するには?
矢印は表示されませんが、スペースはまだ予約されているようです。列のタイトルがすべてのヘッダーを埋めるのに十分な大きさであれば、最後の部分はクリップされます(矢印があるはずです)。
タイトルがヘッダー全体を埋める方法はありますか?
列ヘッダーからソート矢印を削除する必要があります。これは列のset_sort_indicator(false)
を呼び出すことによって行うことができます。GtkTreeViewソート矢印を削除するには?
矢印は表示されませんが、スペースはまだ予約されているようです。列のタイトルがすべてのヘッダーを埋めるのに十分な大きさであれば、最後の部分はクリップされます(矢印があるはずです)。
タイトルがヘッダー全体を埋める方法はありますか?
これはGTK +でちょっと変わったようです。 I downloadedとGtkTreeViewColumnのコードの関連部分を読んで、このロジックを使用しているようだ:
arrow
は矢印を保持するウィジェットです
if (tree_column->show_sort_indicator ||
(GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0))
gtk_widget_show (arrow);
else
gtk_widget_hide (arrow);
。これは、矢印ウィジェットが常に列のヘッダーを構成する水平ボックスにパックされ、次に表示されないと思われる場合は隠された(削除されない)だけであることを示しているようです。それは、それがまだボックスにあり、スペースを占有し、ラベルがクリッピングされていることを意味します。
GTK+ bugtrackerで検索し、問題がない場合は作成しておくことをおすすめします。
私はgtkにバグレポートを提出しました。彼らはそれが問題ではなく、修正されないと言った。
私は他のグラフィカルツールキット(ウィンドウ、qt)を見てきましたが、それらの実装は異なりますが、これはgtkチームの人にとっては問題ではないようです。
あなたはそれがclicked
信号にsignal_connect
を使用し、電流を得るためにget_sort_column_id
を使用します機能にバインドし、矢印 を持ってしたくない列へset_clickable
メソッドを使用することができます[OK]をソート順を使用して逆順ソート順を適用すると、set_sort_column_id
が適用されます。
ありがとうございます。私はGTKコードで自分自身を見ていましたが、気づきましたが、ウィジェットがパックされ、隠されていれば、スペースを占有しないと考えました。私は最近QTでいくつかの仕事をしてきましたが、スペースがもう使用されていないウィジェットを非表示にするとそこにいました。 –
うん...確かに奇妙に聞こえるよ。今私は自分の答えを少し疑っています。なぜなら、目に見えないものがスペースを取るべきであることが奇妙に思われるからです。私は戻ってコードを読んでいませんが、まだバグトラッカーのルートをお勧めします。 – unwind