Python 如何使用pyqt4清除带有索引的表小部件中的数据
这是我的程序,我想清除数据,我看到了remove row方法,但它正在删除索引行。如何在不在table小部件中分配新项的情况下清除数据 下面是我的代码:Python 如何使用pyqt4清除带有索引的表小部件中的数据,python,pyqt4,Python,Pyqt4,这是我的程序,我想清除数据,我看到了remove row方法,但它正在删除索引行。如何在不在table小部件中分配新项的情况下清除数据 下面是我的代码: import sys from functools import partial from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__()
import sys
from functools import partial
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self. table = QtGui.QTableWidget(3, 6, self)
self.table.setGeometry(10, 70, 500,300)
self.table.verticalHeader().hide()
self.table.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
fnt = self.table.font()
fnt.setPointSize(11)
self.table.setFont(fnt)
self.table.setHorizontalHeaderLabels(("S.no, Item Description,Qty,Rate(Rs:),Subtotal,"",").split(','))
all_data = [("1", "Acne-aid Wash Facial Cleansing", 191.72, 0),
("2", "AMoisturizer", 90, 0),
("3", "Brightening eye cream", 40, 0)]
for r, row_data in enumerate(all_data):
for c, value in zip((0, 1, 3, 4), row_data):
it = QtGui.QTableWidgetItem(str(value))
self.table.setItem(r, c, it)
btn = QtGui.QPushButton(icon=QtGui.QIcon("trash1.png"))
btn.clicked.connect(partial(self.cleardata,r))
self.table.setCellWidget(r, 5, btn)
self.setGeometry(200, 300, 600, 300)
self.show()
def cleardata(self,r):
print r
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
您只需迭代该行,获取QTableWidgetItem并设置一个空文本:
def cleardata(自身,r):
对于范围内的c(self.table.columnCount()):
it=自身表项(r,c)
如果不是“无”:
it.setText(“”)
w=self.table.cellWidget(r,c)
如果isinstance(w,QtGui.QLabel):
w、 清除()
例如,你必须编写一个更新方法,包括连接的按钮。你能给出一个例子来更新模型吗?如果你没有我的,我可以问一个问题吗?我怎样才能清除self.table.cellWidget(s,4)@navyasri你想删除这个小部件(按钮)还是“清除数据”是什么意思?self.item\u rate=QtGui.QLabel()self.item_rate.setFont(self.fonttable)self.table.setCellWidget(ct-1,3,self.item_rate)在标签中,我在单击按钮后设置文本默认值,我想清除该单元格小部件中的数据而不是小部件