Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyqt和table小部件清除内容_Python_Pyqt4 - Fatal编程技术网

Python pyqt和table小部件清除内容

Python pyqt和table小部件清除内容,python,pyqt4,Python,Pyqt4,我是PYQT的新手,我正在尝试去感受它。我试图用5个不同的按钮填充一个表格小部件。我需要清理出每一个按钮之间的表按下,但想离开我的标题。我试过一个tablewidget clearcontents。但这会清除所有内容,我不确定该将其正确放置在何处,以便在每次按下按钮之前清除内容,从而引入新信息 try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): retu

我是PYQT的新手,我正在尝试去感受它。我试图用5个不同的按钮填充一个表格小部件。我需要清理出每一个按钮之间的表按下,但想离开我的标题。我试过一个tablewidget clearcontents。但这会清除所有内容,我不确定该将其正确放置在何处,以便在每次按下按钮之前清除内容,从而引入新信息

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):


    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(761, 637)
        self.pushButton = QtGui.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(0, 550, 201, 31))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.pushButton.clicked.connect(self.get_output1_statement)

        self.pushButton_2 = QtGui.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(0, 580, 201, 31))
        self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
        self.pushButton.clicked.connect(self.get_output2_statement)

        self.pushButton_3 = QtGui.QPushButton(Form)
        self.pushButton_3.setGeometry(QtCore.QRect(0, 610, 201, 31))
        self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
        self.pushButton_3.clicked.connect(self.get_output3_statement)

        self.pushButton_4 = QtGui.QPushButton(Form)
        self.pushButton_4.setGeometry(QtCore.QRect(250, 580, 201, 31))
        self.pushButton_4.setObjectName(_fromUtf8("pushButton_4"))
        self.pushButton.clicked.connect(self.get_output4_statement)

        self.pushButton_5 = QtGui.QPushButton(Form)
        self.pushButton_5.setGeometry(QtCore.QRect(510, 580, 201, 31))
        self.pushButton_5.setObjectName(_fromUtf8("pushButton_5"))
        self.pushButton.clicked.connect(self.get_output5_statement)

        self.tableWidget = QtGui.QTableWidget(Form)
        self.tableWidget.setGeometry(QtCore.QRect(0, 0, 741, 551))
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(5)
        sizePolicy.setVerticalStretch(5)
        sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
        self.tableWidget.setSizePolicy(sizePolicy)
        self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
        self.tableWidget.setColumnCount(5)
        self.tableWidget.setRowCount(50)
        self.tableWidget.setItem(0,0,QtGui.QTableWidgetItem("name"))
        self.tableWidget.setItem(0,1,QtGui.QTableWidgetItem("column_1"))
        self.tableWidget.setItem(0,2,QtGui.QTableWidgetItem("column_2"))
        self.tableWidget.setItem(0,3,QtGui.QTableWidgetItem("column_3"))
        self.tableWidget.setItem(0,4,QtGui.QTableWidgetItem("column_4"))


        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.pushButton.setText(_translate("Form", "button1", None))
        self.pushButton_2.setText(_translate("Form", "button2", None))
        self.pushButton_3.setText(_translate("Form", "button3", None))
        self.pushButton_4.setText(_translate("Form", "button4", None))
        self.pushButton_5.setText(_translate("Form", "button5", None))

当您以适当的方式设置表格标题时,可以使用
clearContents()
方法

更改:

self.tableWidget.setItem(0,0,QtGui.QTableWidgetItem("name"))
self.tableWidget.setItem(0,1,QtGui.QTableWidgetItem("column_1"))
self.tableWidget.setItem(0,2,QtGui.QTableWidgetItem("column_2"))
self.tableWidget.setItem(0,3,QtGui.QTableWidgetItem("column_3"))
self.tableWidget.setItem(0,4,QtGui.QTableWidgetItem("column_4"))
致:

在注释后编辑额外代码

也许这对你有帮助?我尽量保留你的代码

class Ui_Form(QtGui.QDialog):

    def __init__(self, parent=None):
        super(Ui_Form, self).__init__(parent)
        self.setObjectName(_fromUtf8("Form"))
        self.resize(761, 637)
        self.pushButton = QtGui.QPushButton()
        self.pushButton.setGeometry(QtCore.QRect(0, 550, 201, 31))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.connect(self.pushButton, QtCore.SIGNAL("released()"), self.get_output1_statement)

        self.tableWidget = QtGui.QTableWidget()
        self.tableWidget.setGeometry(QtCore.QRect(0, 0, 741, 551))
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,     QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(5)
        sizePolicy.setVerticalStretch(5)
        sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
        self.tableWidget.setSizePolicy(sizePolicy)
        self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
        self.tableWidget.setColumnCount(5)
        self.tableWidget.setRowCount(50)
        self.tableWidget.setHorizontalHeaderItem(0, QtGui.QTableWidgetItem("name"))
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.tableWidget)
        layout.addWidget(self.pushButton)
        self.setLayout(layout)
        for i in range(1, 5):
            self.tableWidget.setHorizontalHeaderItem(i,     QtGui.QTableWidgetItem("column_{0}".format(i)))
        self.retranslateUi()

    def retranslateUi(self):
        self.setWindowTitle(_translate("Form", "Form", None))
        self.pushButton.setText(_translate("Form", "button1", None))

    def get_output1_statement(self):
        self.tableWidget.clearContents()
        self.tableWidget.setItem(0,0,QtGui.QTableWidgetItem("add some data"))

app = QtGui.QApplication(sys.argv)
form = Ui_Form()
form.show()
app.exec_()

当您以适当的方式设置表格标题时,可以使用
clearContents()
方法

更改:

self.tableWidget.setItem(0,0,QtGui.QTableWidgetItem("name"))
self.tableWidget.setItem(0,1,QtGui.QTableWidgetItem("column_1"))
self.tableWidget.setItem(0,2,QtGui.QTableWidgetItem("column_2"))
self.tableWidget.setItem(0,3,QtGui.QTableWidgetItem("column_3"))
self.tableWidget.setItem(0,4,QtGui.QTableWidgetItem("column_4"))
致:

在注释后编辑额外代码

也许这对你有帮助?我尽量保留你的代码

class Ui_Form(QtGui.QDialog):

    def __init__(self, parent=None):
        super(Ui_Form, self).__init__(parent)
        self.setObjectName(_fromUtf8("Form"))
        self.resize(761, 637)
        self.pushButton = QtGui.QPushButton()
        self.pushButton.setGeometry(QtCore.QRect(0, 550, 201, 31))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.connect(self.pushButton, QtCore.SIGNAL("released()"), self.get_output1_statement)

        self.tableWidget = QtGui.QTableWidget()
        self.tableWidget.setGeometry(QtCore.QRect(0, 0, 741, 551))
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,     QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(5)
        sizePolicy.setVerticalStretch(5)
        sizePolicy.setHeightForWidth(self.tableWidget.sizePolicy().hasHeightForWidth())
        self.tableWidget.setSizePolicy(sizePolicy)
        self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
        self.tableWidget.setColumnCount(5)
        self.tableWidget.setRowCount(50)
        self.tableWidget.setHorizontalHeaderItem(0, QtGui.QTableWidgetItem("name"))
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.tableWidget)
        layout.addWidget(self.pushButton)
        self.setLayout(layout)
        for i in range(1, 5):
            self.tableWidget.setHorizontalHeaderItem(i,     QtGui.QTableWidgetItem("column_{0}".format(i)))
        self.retranslateUi()

    def retranslateUi(self):
        self.setWindowTitle(_translate("Form", "Form", None))
        self.pushButton.setText(_translate("Form", "button1", None))

    def get_output1_statement(self):
        self.tableWidget.clearContents()
        self.tableWidget.setItem(0,0,QtGui.QTableWidgetItem("add some data"))

app = QtGui.QApplication(sys.argv)
form = Ui_Form()
form.show()
app.exec_()

这是可怕的保持标题。在每次按下按钮之前,我将在何处插入清除按钮以清除桌子?当我尝试时,我可以让它只清除一次你说的“在”每个按钮按下之前是什么意思?是否要在按下按钮时清除表格?抱歉,是的,在按下按钮时清除表格,然后在同一个“单击”按钮上再次使用当前的self填充表格。例如get\u output2\u语句OK,我还是发布了一些示例。。(在阅读您的评论之前发布)。成功保留标题真是太棒了。在每次按下按钮之前,我将在何处插入清除按钮以清除桌子?当我尝试时,我可以让它只清除一次你说的“在”每个按钮按下之前是什么意思?是否要在按下按钮时清除表格?抱歉,是的,在按下按钮时清除表格,然后在同一个“单击”按钮上再次使用当前的self填充表格。例如get\u output2\u语句OK,我还是发布了一些示例。。(在阅读您的评论之前发布)。成功