【问题标题】:Clear Button PyQt5清除按钮 PyQt5
【发布时间】:2018-12-28 19:18:38
【问题描述】:

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

  • 用户编写字符串的 QLineEdit

  • 一个 QPushButton,每次我点击它时都会清除用户在上面的 lineedit 中写入的任何内容。

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

这是我的代码:

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_())

非常感谢,

马蒂亚

【问题讨论】:

    标签: python pyqt pyqt5 qpushbutton qlineedit


    【解决方案1】:

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

    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_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多