TableViewで選択したアイテムにコンテキストメニューを表示する方法

user6283344

これが私が今持っているものですTableView

TableView{
    model: testContext.list
    TableViewColumn{
        width: parent.width / 2
        title: "Name"
        delegate: Text {
            text: modelData.name
        }
    }
    TableViewColumn{
        width: parent.width / 2
        title: "Age"
        delegate: Text {
            text: modelData.age
        }
    }
    Keys.onDeletePressed: testContext.removeItem(currentRow)
    onClicked: {
        console.log(row)
    }

    Menu {
        id: contextMenu
        MenuItem {
            text: "Delete"
            onClicked: testContext.removeItem(currentRow)
        }
    }
}

アイテムを選択してを押すとDelete、選択したアイテムが削除されますがcontextMenu、右クリックして選択したアイテムを削除することをまだ表示できていませんtestContext.listはでQVector<QObject*>あり、ListView/GridViewそれで私はこのようなものを持つことができます:

ListView/GridView{
    id: listView
    anchors.fill: parent
    model: testContext.list
    //cellHeight:
    //cellWidth:

    delegate: Text{
        text: modelData.name + " " + modelData.age
        MouseArea {
            acceptedButtons: Qt.LeftButton | Qt.RightButton
            anchors.fill: parent
            onClicked: {
                listView.currentIndex = index
                listView.forceActiveFocus()
                if (mouse.button == Qt.RightButton)
                    contextMenu.popup()
            }
        }
    }

    Menu {
        id: contextMenu
        MenuItem {
            text: "Delete"
            onClicked: testContext.removeItem(listView.currentIndex)
        }
    }

    Keys.onDeletePressed: testContext.removeItem(listView.currentIndex)

    highlight: Rectangle {
        color: "lightgray"
        width: listView.width
    }
}

を押すDeleteか使用してアイテムを削除しますcontextMenu

私は、に加えてMouseArea他のいくつかにをsignal-handler追加して試しましたが、これまでのところ運がありません!onClickedTableView

eyllanesc

次の例は、コンテキストメニューの使用方法を示しています(この場合、モデルは無関係であるため、QObjectリストを使用していません。したがって、例を単純化するためにListModelを使用します)

import QtQuick 2.14
import QtQuick.Window 2.14
import QtQuick.Controls 1.4 as QQC1
import QtQuick.Controls 2.14 as QQC2

Window {
    id: root
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    ListModel {
        id: libraryModel
        ListElement {
            title: "A Masterpiece"
            author: "Gabriel"
        }
        ListElement {
            title: "Brilliance"
            author: "Jens"
        }
        ListElement {
            title: "Outstanding"
            author: "Frederik"
        }
    }
    QQC1.TableView {
        id: tableview
        x:100
        y:100
        width: 400
        height: 400
        model: libraryModel
        QQC1.TableViewColumn {
            role: "title"
            title: "Title"
            width: 100
        }
        QQC1.TableViewColumn {
            role: "author"
            title: "Author"
            width: 200
        }
        MouseArea{
            anchors.fill: parent
            propagateComposedEvents: true
            acceptedButtons: Qt.RightButton
            onClicked:  {
                var row = tableview.rowAt(mouseX, mouseY)
                if(row >= 0){
                    console.log(row)
                    tableview.currentRow = row
                    tableview.selection.clear()
                    tableview.selection.select(row, row)
                    contextMenu.popup()
                }
            }
        }
    }
    QQC2.Menu {
        id: contextMenu
        QQC2.MenuItem {
            text: "Delete"
            onClicked: libraryModel.remove(tableview.currentRow)
        }
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データグリッドにコンテキストメニューを追加し、選択したアイテムの値を取得する方法

分類Dev

データグリッドにコンテキストメニューを追加し、選択したアイテムの値を取得する方法

分類Dev

コンテキストメニューヘッダーをListViewの選択したアイテムにバインドする

分類Dev

テキストを選択した後、「エクスプローラーで開く」という名前のアイテムを右クリックのコンテキストメニューに追加するにはどうすればよいですか?

分類Dev

WPFのDiagramSurfaceで選択したアイテムのコンテキストメニュー

分類Dev

コンテキストメニューを右クリックしてアイテムを選択します

分類Dev

選択したアイテムをリスト内のアイコンでuser-ionic3に表示する方法

分類Dev

ドロップダウンメニューに以前に選択したアイテムを表示する

分類Dev

リストピッカーでアイテムを選択した後にテキストを表示する

分類Dev

Javaを使用してプログラムでナビゲーションドロワーの選択したメニュー項目のテキストとアイコンの色を変更する方法

分類Dev

選択したメニューを表示するアイテムは親に表示する必要があります

分類Dev

ドロップダウンメニューのボタンのテキストを、選択したliリストアイテムのテキストに変更する方法-jquery

分類Dev

Sitecore:メニューコンテキストアイテムを使用した後に入力オプションを表示する

分類Dev

コンボボックスで選択したアイテムにテキストをバインドする

分類Dev

handsontableのコンテキストメニューでデフォルトアイテムを使用してカスタムアイテムを追加する方法

分類Dev

TreeViewのアイテムでコンテキストメニューコマンドを処理する方法

分類Dev

ListViewのコンテキストメニュー、アイテムの選択

分類Dev

選択後にSwiftUIメニューで選択したアイテムを正しく表示するにはどうすればよいですか?

分類Dev

スピナーでアイテムを選択した後、対応するjsonデータをテキストビューに表示する

分類Dev

チェックボックスを使用して、フラグメント内にあるポップアップメニューに選択したアイテムを表示するにはどうすればよいですか?

分類Dev

選択できないコンテキストメニュー項目をWPFContextMenuコントロールのタイトルとして追加する方法

分類Dev

Bootstrap4ドロップダウンアイテムメニューから選択したアイテムを表示する方法

分類Dev

FirefoxのコンテキストメニューからWebページで選択したターミナルコマンドを実行する方法は?

分類Dev

選択したページをカスタムメニューテンプレートに表示するにはどうすればよいですか?

分類Dev

Flutter-選択したアイテムのみをリストビューに表示する方法

分類Dev

コンテキストメニューでクリックされたアイテムを特定する

分類Dev

UWPにListBoxアイテムのコンテキストメニューを追加する方法

分類Dev

「送信先」コンテキストメニューにアイテムを追加する方法

分類Dev

「送信先」コンテキストメニューにアイテムを追加する方法

Related 関連記事

  1. 1

    データグリッドにコンテキストメニューを追加し、選択したアイテムの値を取得する方法

  2. 2

    データグリッドにコンテキストメニューを追加し、選択したアイテムの値を取得する方法

  3. 3

    コンテキストメニューヘッダーをListViewの選択したアイテムにバインドする

  4. 4

    テキストを選択した後、「エクスプローラーで開く」という名前のアイテムを右クリックのコンテキストメニューに追加するにはどうすればよいですか?

  5. 5

    WPFのDiagramSurfaceで選択したアイテムのコンテキストメニュー

  6. 6

    コンテキストメニューを右クリックしてアイテムを選択します

  7. 7

    選択したアイテムをリスト内のアイコンでuser-ionic3に表示する方法

  8. 8

    ドロップダウンメニューに以前に選択したアイテムを表示する

  9. 9

    リストピッカーでアイテムを選択した後にテキストを表示する

  10. 10

    Javaを使用してプログラムでナビゲーションドロワーの選択したメニュー項目のテキストとアイコンの色を変更する方法

  11. 11

    選択したメニューを表示するアイテムは親に表示する必要があります

  12. 12

    ドロップダウンメニューのボタンのテキストを、選択したliリストアイテムのテキストに変更する方法-jquery

  13. 13

    Sitecore:メニューコンテキストアイテムを使用した後に入力オプションを表示する

  14. 14

    コンボボックスで選択したアイテムにテキストをバインドする

  15. 15

    handsontableのコンテキストメニューでデフォルトアイテムを使用してカスタムアイテムを追加する方法

  16. 16

    TreeViewのアイテムでコンテキストメニューコマンドを処理する方法

  17. 17

    ListViewのコンテキストメニュー、アイテムの選択

  18. 18

    選択後にSwiftUIメニューで選択したアイテムを正しく表示するにはどうすればよいですか?

  19. 19

    スピナーでアイテムを選択した後、対応するjsonデータをテキストビューに表示する

  20. 20

    チェックボックスを使用して、フラグメント内にあるポップアップメニューに選択したアイテムを表示するにはどうすればよいですか?

  21. 21

    選択できないコンテキストメニュー項目をWPFContextMenuコントロールのタイトルとして追加する方法

  22. 22

    Bootstrap4ドロップダウンアイテムメニューから選択したアイテムを表示する方法

  23. 23

    FirefoxのコンテキストメニューからWebページで選択したターミナルコマンドを実行する方法は?

  24. 24

    選択したページをカスタムメニューテンプレートに表示するにはどうすればよいですか?

  25. 25

    Flutter-選択したアイテムのみをリストビューに表示する方法

  26. 26

    コンテキストメニューでクリックされたアイテムを特定する

  27. 27

    UWPにListBoxアイテムのコンテキストメニューを追加する方法

  28. 28

    「送信先」コンテキストメニューにアイテムを追加する方法

  29. 29

    「送信先」コンテキストメニューにアイテムを追加する方法

ホットタグ

アーカイブ