簡體   English   中英

使用Python pyqt4在QTableWidget中獲取特定行和列的單元格突出顯示

[英]Get cell highlight for specfic row & column in QTableWidget using Python pyqt4

我正在使用Python和pyqt4。 我的QTableWidget允許用戶選擇多個單元格。 對於QTableWidget中的單個特定行和列單元格,我需要讀取該單元格是否已通過用戶選擇突出顯示。 讀取單元格的選擇/突出顯示值的pyqt調用是什么?

編輯:我需要沒有信號/插槽調用。 我只是有一個QTableWidget以及行和列號,我需要獲取是否選擇了該單元格。

使用list-of-QTableWidgetItem QTableWidget.selectedItems (self)從用戶選擇或突出顯示中獲取所選項目。 並在項目選擇更改時處理信號void itemSelectionChanged ()做;

import sys
from PyQt4 import QtGui

class QCustomTableWidget (QtGui.QTableWidget):
    def __init__ (self, parentQWidget = None):
        super(QCustomTableWidget, self).__init__(parentQWidget)
        self.setColumnCount(2)
        self.setRowCount(3)
        self.setItem(0, 0, QtGui.QTableWidgetItem('Test 1'))
        self.setItem(0, 1, QtGui.QTableWidgetItem('Test 2'))
        self.setItem(1, 0, QtGui.QTableWidgetItem('Work 1'))
        self.setItem(1, 1, QtGui.QTableWidgetItem('Work 2'))
        self.setItem(2, 0, QtGui.QTableWidgetItem('Area 1'))
        self.setItem(2, 1, QtGui.QTableWidgetItem('Area 2'))
        self.itemSelectionChanged.connect(self.itemSelectionChangedCallback)

    def itemSelectionChangedCallback (self):
        print '#' * 80
        for currentQTableWidgetItem in self.selectedItems():
            print currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text()

if __name__ == '__main__':
    myQApplication = QtGui.QApplication(sys.argv)
    myQCustomTableWidget = QCustomTableWidget()
    myQCustomTableWidget.show()
    sys.exit(myQApplication.exec_())

編輯:我需要沒有信號/插槽調用。 我只是有一個QTableWidget以及行和列號,我需要獲取是否選擇了該單元格。

在PyQt4中,只能使用方法bool QTableWidget.isItemSelected (self, QTableWidgetItem item) 如果要按行和列的索引使用,則必須創建自己的新方法。 使用“使用list-of-QTableWidgetItem QTableWidget.selectedItems (self)檢查行和列是否匹配;

class QCustomTableWidget (QtGui.QTableWidget):
    .
    .
    .

    def isItemSelectedByIndex (self, row, column):
        isSelection = False
        for currentQTableWidgetItem in self.selectedItems():
            if (row, column) == (currentQTableWidgetItem.row(), currentQTableWidgetItem.column()):
                isSelection = True
                break
        return isSelection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM