只通过单击行标题选择QTableWidget的行

4

我有一个QTableWidget。我已经使用以下方式设置了它的选择行为:

myTableWidget.setSelectionBehaviour(QTableWidget.SelectRows)

现在我可以通过单击表格中的单元格来选择行。但是我希望只能通过单击垂直标题标签来选择行。我该如何实现?

1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

类 Qt.ItemFlag

此枚举描述了一个项的属性。注意,可选中的项需要被赋予适当的标志集和初始状态,指示该项是否被选中。这对于模型/视图组件是自动处理的,但需要明确设置 QTableWidgetItem 实例。

在本例中,我将使用(为所有项设置标志):

Qt::ItemIsSelectable - 它可以被选择。

    self.dlg.tableWidget.setRowCount(3)
    self.dlg.tableWidget.setColumnCount(4)
    self.dlg.tableWidget.horizontalHeader().sectionPressed.disconnect() # disconnect horizontal header

    data = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]

    for row in range(3):  # add items from array to QTableWidget
        for column in range(4):
            item = QTableWidgetItem(str(data[row][column]))  # each item is a QTableWidgetItem
            item.setFlags(Qt.ItemIsSelectable) # set flag to the item
            self.dlg.tableWidget.setItem(row, column, item)

enter image description here

注意:只有在单击垂直标题时才会选择该行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,