私は複数の項目を選択できるようにするためにpythonでコンボボックスウィジェットを持っていますが、これは不可能だと思っています。モードを複数に設定すると、Gtk.TreeView()
を使用することが可能であることがわかります。これを行うためにコンボボックスを取得する方法はありますか?もしそうでなければ、ツリービューをコンボボックスの中に置くことができますか?そうすれば(短いコーディング例、どうぞ)?私はGTK3を使用していますが、おそらくGTK2の例から変換できます。GTKコンボボックスで複数の項目を選択する方法
1
A
答えて
1
多くの研究の結果、1つのアイテムしか保持できないということは、コンボボックスの単なる制限だと思います。だから、答えは次のとおりです。
はい、コンボボックスが(それはそれでツリービューを持っている場合)
を複数を選択するように設定することができ、したがって、
はい、TreeViewコントロールが内部に配置することができますコンボボックス。
ただし、ComboBoxをアクティブにするときだけでなく、TreeViewが常に表示されたコンテナとしてComboBoxが機能するため、正しく動作しません。 Gtk.TreeSelection(Gtk.Treeview.get_selection()から取得)を複数使用するように設定できます。ここで
は、コードは次のとおりです。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from gi.repository import Gtk
PEOPLE = [
"Frank",
"Martha",
"Jim Bob",
"Francis"
]
class TreeCombo(object):
def __init__(self):
self.win = Gtk.Window(title="Combo with liststore")
self.win.connect('delete-event', Gtk.main_quit)
self.store = Gtk.ListStore(str)
for person in PEOPLE:
self.store.append([person])
# self.combo = Gtk.ComboBox.new_with_model(self.store)
self.combo = Gtk.ComboBox()
self.tree = Gtk.TreeView(self.store)
self.selector = self.tree.get_selection()
self.selector.set_mode(Gtk.SelectionMode.MULTIPLE)
self.combo_cell_text = Gtk.CellRendererText()
self.column_text = Gtk.TreeViewColumn("Text", self.combo_cell_text, text=0)
self.tree.append_column(self.column_text)
self.combo.add(self.tree)
self.win.add(self.combo)
self.win.show_all()
def main():
prog = TreeCombo()
Gtk.main()
if __name__ == "__main__":
main()
私は隠して周りの混乱に行くとコンボボックスの活性化とツリービューを示しています。私はそれがどのように進むのかを知らせます。
関連する問題
- 1. コンボボックスで複数の項目を選択する方法
- 2. コンボボックス選択項目
- 3. 変更コンボボックス選択項目
- 4. コンボボックスの選択項目のIDを取得する方法
- 5. コンボボックスの「選択項目」VB.Netをクリアする方法
- 6. コンボボックスでホットリスト項目を選択
- 7. コンボボックスで項目を選択しない
- 8. scatterViewの複数選択項目を処理する方法
- 9. JTextPaneで複数の項目を選択
- 10. 複数の項目から項目を選択するListView - android
- 11. コンボボックスから選択項目を取得
- 12. 更新コンボボックス選択された項目
- 13. JQueryのコンボボックスでTabキーを使用して項目を選択する方法
- 14. コンボボックスのフィルタリング後にJavaFXコンボボックスの選択項目が消える
- 15. リストビュー/コンボボックスでデフォルトの選択した項目を設定する方法uwp
- 16. WPFでコンボボックスの選択したTextblock項目を取得する方法
- 17. VBA複数列の複数選択リストボックスで項目を事前に選択
- 18. gwtコンボボックスで複数選択を許可する方法
- 19. javascriptを使用してコンボボックスから選択項目を取得する方法
- 20. JQuery UIの選択可能なプラグインで複数の項目を選択する
- 21. コンボボックスから選択した項目値を取得する方法
- 22. xamlのリストボックスの複数の選択された項目をバインドする方法
- 23. リストボックスの項目をコンボボックスの項目にコピーする方法は?
- 24. エクセルピボットテーブルフィルタで複数の項目を選択する
- 25. JQueryで複数の項目を選択して操作する
- 26. AnyGanttで複数の項目を選択する
- 27. リストボックス内の複数項目をwpfで選択する#
- 28. ExtGWTコンボボックスの複数の項目ドロップダウンリスト
- 29. 複数の選択項目をAndroidのListActivityから取得する方法
- 30. チェック項目の数を表示する、JavaScript複数選択
Gtk.TreeViewウィジェットを隠して遊んでいると、コンボボックスの高さが残ってしまい、望ましくない外観になってしまいます。私はそれをお勧めしません。私はちょうどボタンを使用してカスタムGtk.Dialogを開くつもりです。私が望んでいたほど美人ではありませんが、私が考えることができる最高のものです。 – narnie