QTableWidgetがあり、行または列のヘッダーをクリックしたときに行または列が選択される動作を無効にしたい。
この動作を無効にする方法を知っている人はいますか?
編集: onClick関数が必要なため、ヘッダーはクリック可能なままにする必要があります。
QTableWidgetがあり、行または列のヘッダーをクリックしたときに行または列が選択される動作を無効にしたい。
この動作を無効にする方法を知っている人はいますか?
編集: onClick関数が必要なため、ヘッダーはクリック可能なままにする必要があります。
QTableWidget::setSortingEnabled(true);
これにより、説明した列選択動作がなくなり、列による並べ替えと交換されます!
tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
このプロパティは、ビューが動作する選択
モードを保持します。
または、必要かもしれません。tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows )
このプロパティは、ビューが使用する選択動作を保持します。
選択動作
それを行うにはいくつかの方法があります
関数setClickableに false を設定してみることができます
QTableWidget::horizontalHeader()->setClickable(false);
これが機能する場合は、[verticalHeader][2] についても同じことができます。
[2]: http://doc.qt.nokia.com/latest/qtableview.html#verticalHeader "verticalHeader"
Qt for Python が受け入れられる場合は、次のようにするとうまくいきました。
def setModel(self, model):
super().setModel(model)
self.horizontalHeader().sectionPressed.disconnect()
どうやら信号が で接続されていたようsetModel
です。私はすべてから切り離されました。