当用户更改其值时,我只需要连接一列,因为如果使用
self.Table.cellChanged()
如果从数据库中更改了所有值,它将发送信号]
示例(请查看#Comment向下)
from PyQt5 import QtWidgets, QtCore, QtGui
class SalesMan(object):
def __init__(self, window):
window.resize(650, 600)
window.setWindowTitle('Example')
self.Window = window
self.Barcode = QtWidgets.QLineEdit(window)
self.Table = QtWidgets.QTableWidget(100, 6, window)
self.Table.setGeometry(0, 0, 650, 600)
self.Table.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
# need Call if column(0,1) Changed, Not All Column
self.Table.cellChanged.connect(self.Ex)
def Ex(self):
print('Some')
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
form = QtWidgets.QMainWindow()
d = SalesMan(form)
form.show()
sys.exit(app.exec_())
当用户更改其值时,我只需要连接一列,因为如果您使用self.Table.cellChanged(),如果从数据库中更改了所有值,它将发送信号。Example(Look ...
您要做的是根据通过信号传输的参数过滤列:
class SalesMan(object):
def __init__(self, window):
window.resize(650, 600)
window.setWindowTitle("Example")
self.Window = window
self.Barcode = QtWidgets.QLineEdit(window)
self.Table = QtWidgets.QTableWidget(100, 6, window)
self.Table.setGeometry(0, 0, 650, 600)
self.Table.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
# need Call if column(0,1) Changed, Not All Column
self.Table.cellChanged.connect(self.Ex)
def Ex(self, row, column):
if column == 0:
print("Some", row, column)