python - 仅通过单击行标题选择 QTableWidget 行

标签 python qt pyqt4 qtablewidget

我有一个 QTableWidget。我已经设置了它的选择行为

myTableWidget.setSelectionBehaviour(QTableWidget.SelectRows)

现在我可以通过单击表格的单元格来选择行。但我希望只能通过单击垂直标题标签来选择行。我怎样才能做到这一点?

最佳答案

类 Qt.ItemFlag

这个枚举描述了一个项目的属性。请注意,需要为可检查项目提供一组合适的标志和初始状态,以指示该项目是否已检查。这是为模型/ View 组件自动处理的,但需要为 QTableWidgetItem 的实例显式设置。

在这种情况下,我将使用(为所有项目设置标志):

Qt::ItemIsSelectable - It can be selected.

    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

注意:只要您点击垂直标题,该行就会被选中

关于python - 仅通过单击行标题选择 QTableWidget 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38872836/

相关文章:

c# - 从 QFile 的内容填充 QListView 的最快方法是什么?

python - PyQt4 中 GridLayout 中的对齐

python - Openshift:热部署的方法和缺点

python - 稀疏最小二乘回归

c++ - 如何在 Qt 中使用两个键修饰符设置 3 键序列快捷方式?

python - PyQt:如何在 QStackedWidget 中切换小部件

python - 如何在 Python 3 中将 QImage(QPixmap) 转换为 PIL Image?

python - 你能从给定单词的字母中组合出多少个 4 个或更多字母的常见英语单词(每个字母只能使用一次)

java - 用于面向平面文件的处理代理的开源框架

c++ - 我如何从类名中获取 QMetaObject?