問題タブ [listctrl]
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 - 最小幅を設定して保持する方法は?
ListCtrlAutoWidthMixin で拡張された wx.LC_REPORT モードで、いくつかの wx.ListCtrl クラスを使用します。
問題は次のとおりです。ユーザーが列の区切りをダブルクリックすると (列のサイズを自動変更するため)、列の幅がコンテンツの幅と一致するように設定されます。これは wx ライブラリによって行われ、コントロールが空のときに列のサイズを数ピクセルに変更します。
電話してみた
self.SetColumnWidth(colNumber, wx.LIST_AUTOSIZE_USEHEADER)
リストの作成中に、最小許容幅ではなく、最初の列幅を設定するだけです。
列の最小幅の設定に成功した人はいますか?
編集:キャッチしようとしました
成功しませんでした。このイベントは、ユーザーが列の区切りをダブルクリックしても生成されません。また、試してみました
このイベントはダブルクリックに対して通常 2 回生成されますが、新しいサイズに関する情報を取得する方法や、ダブルクリックとドラッグ & ドロップを区別する方法がわかりません。他のアイデアはありますか?
colors - wxPython wxListCtrl 選択した行の色
ステータスを示すことができるように、特定の行を選択した色を標準色(Windowsでは青)ではなく赤にしたいと考えています。wxPythonでこれが可能かどうか知っている人はいますか?
python - wx.ListCtrlの幅とその列名を取得するにはどうすればよいですか?
私はwx.Pythonで作業しており、wx.ListCtrlの列のサイズを自動変更します。つまり、最小で列名の幅にし、それ以外の場合は最も幅の広い要素またはその列名と同じ幅にします。最初はListCtrlAutoWidthMixinがこれを行うかもしれないと思っていましたが、そうではないので、自分で行う必要があるようです(これを行う方法が組み込まれている場合は、修正してください!!!)
リストのタイトルと要素がどのくらいの幅でレンダリングされるかを知るにはどうすればよいですか?
python - wxpython listctrl で整数を表示する
5 つの列を持つ wxPython ListCtrl があります。これらのうち 4 つは文字列を保持し、最後のものは整数値を保持します。これらを文字列として保存しています(つまり、「4」、「17」など)。ただし、リスト内の特定の列をソートできるように ColumnSorterMixin を追加したので、もちろん、整数列が数値ではなく語彙的にソートされていることがわかります。
これを修正する簡単な方法はありますか?
python - ListCtrl-wxPython / Python
私の質問は、特定のアイテムに値を割り当て/バインドしてその値を非表示にできるかどうか(または同じことを別の方法で実行できるかどうか)です。
例:ListCtrlの列が「名前」と「説明」であるとします。
また、アイテムを追加するときに、Nameパラメーターと説明を表示するようにします。
今、私がやりたいのは、基本的に、表示されていないアイテムに何かを割り当てて、後でアプリからアクセスできるようにすることです。
そのため、アプリには表示されないが、アイテムの値には次のようなものを追加したいと思います。
それでも理解できませんでしたか?他のTextCtrlsを使用してアイテムを追加するボタンを追加して、パラメーターを設定するとします。TextCtrlsパラメーターは次のとおりです。
"名前"
"説明"
「隠された説明」
したがって、ユーザーはこのテキストを入力し、ボタンをクリックしてアイテムを作成します。基本的には、名前と説明のみを表示し、「HiddenDescription」を非表示にしますが、後で使用できるようにします。
この投稿で2回以上説明して申し訳ありませんが、私がしているふりを理解してもらいたいと思います。
python - wxPython-ListCtrlにアイテムを保存
私の質問は、ListCtrlにアイテムを保存して、誰かがアプリケーションを開くたびにアイテムがそこにあり、ユーザーがそれを削除すると、構成からも削除できるかどうかです。私はwx.Configを使用できることを知っており、それを使用して達成しようとしていますが、私が望むことを達成する方法でそれを読み取る方法がわかりません。
したがって、私が知りたいのは、誰かがアプリケーションを開くたびにListCtrlの項目がそこにあるように、wx.Configを読み書きする適切な方法です。
前もって感謝します。
python - wxPythonListCtrl列は特定のフィールドを無視します
この投稿を書き直して、いくつかのことを明確にし、問題のある仮想リストの完全なクラス定義を提供します。クラスは次のように定義されます。
発生している問題の説明を容易にする列の切り替えを可能にする関数を追加しました。私のアプリケーションのこのクラスの3番目のインスタンスでは、インデックス1の列に文字列値が表示されません。整数値が正しく表示されます。OnGetItemTextメソッドにprintステートメントを追加すると、値がコンソールに正しく表示されます。この動作は、このクラスの最初の2つのインスタンスには存在せず、私のクラスには、値の表示に関する型チェックコードが含まれていません。
wxPythonユーザーグループの誰かから、可能であればこの問題を示すスタンドアロンサンプルを作成することが提案されました。私はそれに取り組んでいますが、データベースアクセスに依存しないサンプルを作成する時間がまだありません。任意の提案やアドバイスをいただければ幸いです。私はこれで私の髪を引き裂いています。
formatting - WxPython の ListCtrl の最初の列をフォーマットできません
ListCtrl の最初の列のフォーマットを中央揃え (または右揃え) に設定しても、何も起こりません。他の列でも機能します。
これは Windows でのみ発生します。Linux でテストしたところ、正常に動作します。回避策やその他の解決策があるかどうかは誰にもわかりませんか?
以下は、 http://zetcode.com/wxpython/にあるコードに基づく例です。
python - wxPython: 何百万ものアイテムを持つ VirtualTreeListCtrl
TreeListCtrl のルート ノードに 1,000,000 以上のエントリを追加したいと考えています。したがって、「仮想」にしたいと思います。つまり、仮想 ListCtrl のように動作するようにして、現在表示されているアイテムがオンデマンドで読み込まれるため、高速で簡単にスクロールできるようにします。しかし、1,000,000 項目のいずれかを展開してその子を表示できるようにしたいので、仮想 ListCtrl を使用することはできません (項目の子は常に 50 未満です)。これは TreeListCtrl で効率的に行うことができますか? それとも違うクラスで?treemixin.VirtualTree と wx.gizmos.TreeListCtrl を使用した私自身の実験によると、OnGetItemText メソッドのオーバーロードは、単純な仮想 ListCtrl の場合と同じようには機能しません。ユーザーがスクロールしている間、オンデマンドで呼び出されるわけではありません。
c++ - すべての項目とすべての列を削除および再追加すると、Win32ダイアログでリストビューがちらつきます
C ++で記述されたリストビューコントロール(レポートモード)を備えたプレーンなWin32ダイアログについて考えてみます。特定のイベントが発生すると、すべてのアイテムとすべての列が削除され、新しい列とアイテムが作成されます。基本的に、コンテンツが変更されると、コンテンツに基づいて列が自動的に生成されます。
古いアイテム/列が削除され、新しいアイテム/列が追加されると、リストビューが地獄のようにちらつきます。私は試してみましたが、視覚的な体験に変更はありませんWM_SETREDRAW
。LockWindowUpdate()
私は拡張リストビュースタイルLVS_EX_DOUBLEBUFFER
を設定しましたが、それはまったく役に立ちませんでした。
親ダイアログがWS_CLIPCHILDREN
設定されました。
ちらつきをできるだけ少なくしてこれを機能させる方法について何か提案はありますか?私は2つのリストビューを使用することを考えています。可視性を交互に使用し、非表示のリストビューをバックバッファーとして使用しますが、これはやり過ぎのように聞こえます。簡単な方法があるはずです。