0

PyQt4 で QAbstractTableModel のカスタム モデル サブクラスを表示する QTableView に取り組んでいます。ユーザーが特定のタイプのデータとして使用する列を設定できるようにする必要があります。これを実現するには、列のヘッダーをクリックしたときにコンテキスト メニューを実装して、オプションをこれらのタイプとして設定できるようにします。異なる列を区別できるこのようなコンテキスト メニューを作成する方法がわかりません。誰かが私を正しい方向に向けることができますか?

ありがとう

4

1 に答える 1

3

ヘッダー ビューから情報にアクセスできます。次のようなことができます:

def __init__( self, parent ):
    # initialize class
    ...

    # setup menu options
    header = self.ui.tree.header()
    header.setContextMenuPolicy(Qt.CustomContextMenu)
    header.customContextMenuRequested.connect( self.showHeaderMenu )

def showHeaderMenu( self, point ):
    column = self.ui.tree.header().logicalIndexAt(point.x())

    # show menu about the column
    menu = QMenu(self)
    menu.addAction('Hide Column')

    menu.popup(header.mapToGlobal(pos))
于 2012-08-10T23:42:44.923 に答える