QLineEdit 输入框仅能输入一行文字,即使在其中按 Enter 键也没有效果。
下面的例子演示了单行输入框的用法,用户可以在其中编辑文本,文本内容将显示在上面的静态标签上。下面是这个例子的完整代码:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QLabel, QLineEdit
class QTLineEditExample(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self): # 初始化用户界面
self.label_obj1 = QLabel(self) # 静态标签
self.label_obj1.setText(u"静态文本框在这里")
self.line_edit_obj1 = QLineEdit(self) # 单行编辑框
self.line_edit_obj1.move(60, 100)
self.label_obj1.move(60, 40)
self.line_edit_obj1.textChanged[str].connect(self.onChanged)
self.setGeometry(300, 300, 400, 200)
self.setWindowTitle(u'演示QLineEdit的用法')
self.show()
def onChanged(self, text):
self.label_obj1.setText(text)
self.label_obj1.adjustSize()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QTLineEditExample()
sys.exit(app.exec_())
运行该程序,可以看到图 1 所示的窗口。
在 QLineEdit 单行输入框中输入内容,或者编辑内容,可以看到其内容都显示在上面的静态文本框中,如图 2 所示。