wxpython で仮想 ListCtrl を使用しています。リストからいくつかの行を選択し、行の値をコピーしてテキスト ファイルまたはスプレッドシートに貼り付けようとしています。選択した行を (CTRL-C を使用して) クリップボードにコピーするにはどうすればよいですか? どのイベントをバインドする必要がありますか? ありがとう!
1304 次
2 に答える
3
リストコントロールのwxPythonデモを見ると、次のようなことをする必要があると思います。
index = self.list.GetFirstSelected()
value = " %s: %s\n" % (self.list.GetItemText(index), self.getColumnText(index, 1)))
CTRL-Cを使用する場合は、AcceleratorTableを使用する必要があります。つまり、EVT_MENUにバインドして、前述のコードをそのハンドラーに配置します。wxのアクセラレータに関するチュートリアルは次のとおりです。http ://www.blog.pythonlibrary.org/2010/12/02/wxpython-keyboard-shortcuts-accelerators/
一方、私はほとんどの場合、ListCtrlの代わりにObjectListViewを使用します。これは、行と列のインデックスを使用するよりもはるかに簡単にアクセスできる各行のオブジェクトモデルを提供するためです。アプローチと考え方は少し異なりますが、それだけの価値があると思います:http ://www.blog.pythonlibrary.org/2009/12/23/wxpython-using-objectlistview-instead-of-a-listctrl/
于 2012-10-08T17:51:36.307 に答える