小编ada*_*dam的帖子

单击事件时清除 QLineEdit

我正在使用给定的代码,我希望用户在 QLineEdit 小部件中输入文本,按复制!按钮并查看输入的文本替换“N/A”标签。我的问题是:按照此过程,如何通过简单的鼠标单击清除 QLineEdit 小部件中输入的文本?

从我读到的(thisthisthis)来看,我似乎需要在扩展 QLineEdit 的新类中重新实现 focusInEvent()。我的问题是我的 GUI 代码是使用 pyuic5 从 Qt Designer 导入的,上面引用的示例似乎没有考虑到这一点。

这是我的代码:

from PyQt5.QtWidgets import *
import sys

import QLineEdit_test


class MainWindow(QMainWindow, QLineEdit_test.Ui_QLineEdit_test):

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        self.copy_button.clicked.connect(self.copy_and_print)

    def copy_and_print(self):

        self.label.setText(self.lineEdit.text())


def main():

    app = QApplication(sys.argv)
    form = MainWindow()
    form.show()
    app.exec_()

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

这是我转换后的 .ui 文件:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_QLineEdit_test(object):
    def setupUi(self, QLineEdit_test):
        QLineEdit_test.setObjectName("QLineEdit_test")
        QLineEdit_test.resize(300, 200)
        QLineEdit_test.setMaximumSize(QtCore.QSize(300, 200))
        self.centralwidget = …
Run Code Online (Sandbox Code Playgroud)

python pyqt qt-designer python-3.x pyqt5

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

pyqt ×1

pyqt5 ×1

python ×1

python-3.x ×1

qt-designer ×1