清除按钮 PyQt5

Clear Button PyQt5

我一直在尝试构建一个简单的 GUI:

我的问题在第二个。我一直在尝试通过在线查看解决方案来解决它,但到目前为止它们并不是很有用。任何人都可以提示如何进行吗?

这是我的代码:

import sys
from PyQt5.QtWidgets import QWidget, QLineEdit
from PyQt5.QtWidgets import QLabel, QPushButton, QApplication
from PyQt5.QtCore import pyqtSlot


app = QApplication(sys.argv)

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.title = 'MyApp'
        self.left = 10
        self.top = 10
        self.width = 800
        self.height = 800
        self.initUI()
        self.show()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        # Create textbox for index number 1
        self.nameLabel = QLabel(self)
        self.nameLabel.setText('Insert something:')
        self.nameLabel.move(20, 80)

        self.textbox_index1 = QLineEdit(self)
        self.textbox_index1.move(20, 100)
        self.textbox_index1.resize(280, 40)

        # Create a button in the window
        self.buttonC1 = QPushButton('Clear', self)
        self.buttonC1.move(300, 119)

        # connect buttons "CLEAR" to function
        self.buttonC1.clicked.connect(self.on_clickC1)


        @pyqtSlot()
    # Functions for the CLEAR buttons
    def on_clickC1(self):
        self.x1 = clearSearch1(self.textbox_index1.text(''))
        return self.x1

    def clearSearch1(self.x):
        return self.x.clear()

if __name__ == '__main__':
    app.aboutToQuit.connect(app.deleteLater)
    ex = App()
    sys.exit(app.exec_())

非常感谢,

马蒂亚

我不明白你在做什么,解决办法很简单,你必须直接将点击信号连接到清除方法而不创建任何其他函数:

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'MyApp'
        self.left, self.top, self.width, self.height = 10, 10, 800, 800
        self.initUI()
        self.show()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        # Create textbox for index number 1
        self.nameLabel = QLabel(self)
        self.nameLabel.setText('Insert something:')
        self.nameLabel.move(20, 80)

        self.textbox_index1 = QLineEdit(self)
        self.textbox_index1.move(20, 100)
        self.textbox_index1.resize(280, 40)

        # Create a button in the window
        self.buttonC1 = QPushButton('Clear', self)
        self.buttonC1.move(300, 119)

        # connect buttons "CLEAR" to function
        self.buttonC1.clicked.connect(self.textbox_index1.clear)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())