Pyqt では、QTableWidget の QHeaderView をマウスの右クリックに応答させようとしています。QHeaderView をサブクラス化し、mousePressEvent をオーバーロードしました。
次に、カスタム QTableWidget、DataTable クラスのヘッダーとして設定できます。ただし、ヘッダーのラベルを設定する方法がわかりません。
助けてくれてありがとう!
ここにいくつかのコードがあります。
class Header( QtGui.QHeaderView ):
def __init__ ( self, parent ):
QtGui.QHeaderView.__init__( self, QtCore.Qt.Vertical, parent=parent )
def mousePressEvent( self, event ):
if event.button() == QtCore.Qt.RightButton:
do_stuff()
class DataTable( QtGui.QTableWidget ):
def __init__ ( self ):
QtGui.QTableWidget.__init__( self )
self.setShowGrid(True)
self.header = Header( parent = self )
self.header.setClickable(True)
self.setHorizontalHeader( self.header )
def set_header( self, labels ):
???