【4】PyQt输入框

1. 单行文本输入框

QLineEdit控件可以输入单行文本

from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys


def init_widget(w: QWidget):
    # 修改窗口标题
    w.setWindowTitle('单行输入框')
    # 设置窗口大小
    w.resize(480, 320)

    layout = QVBoxLayout()
    """------------------ 展示单行输入框 ------------------"""
    edit = QLineEdit()
    # 设置输入框提示
    edit.setPlaceholderText('请输入用户名')
    # 设置文本
    edit.setText('张三')
    # 获取单选框的文字
    text = edit.text()
    print(text)
    # 设置输入框最大字符数
    edit.setMaxLength(10)
    layout.addWidget(edit)

    edit3 = QLineEdit("Password")
    edit3.setPlaceholderText('请输入密码')
    edit3.setEchoMode(QLineEdit.Password)
    layout.addWidget(edit3)

    w.setLayout(layout)


if __name__ == '__main__':
    # 1.创建应用程序
    app = QApplication(sys.argv)
    # 2.创建窗口
    w = QWidget()
    init_widget(w)
    # 3.显示窗口
    w.show()
    # 4.等待窗口停止
    sys.exit(app.exec())

运行程序:

QLineEdit的方法

方法

说明

setEchoMode()

QLineEdit.Normal正常显示所输入的字符,默认选项

QLineEdit.NoEcho不显示任何输入的字符,常用于密码类型的输入,且其密码长度需要保密时

QLineEdit.Password显示与平台相关的密码掩码字符,而不是实际输入的字符

QLineEdit.PasswordEchoOnEdit在编辑时显示字符,负责显示密码类型的输入

setPlaceholderText()

设置文本框浮显文字

setText()

设置文本框内容

setMaxLength()

设置文本框所允许输入的最大字符数

2. 多行文本输入框

QTextEdit控件用来输入多行文本

from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys

# 1.创建应用程序
app = QApplication(sys.argv)

# 2.创建窗口
w = QWidget()


# 修改窗口标题
w.setWindowTitle('多行输入框')
"""------------------ 多行输入框 ------------------"""
edit = QTextEdit()

# 设置提示内容
edit.setPlaceholderText('请输入发表的内容')
# 设置文本内容
edit.setPlainText('武汉疫情')
# 获取输入的内容
print(edit.toPlainText())
edit.clear()

# 显示多行输入框
edit.setParent(w)

# 3.显示窗口
w.show()

# 4.等待窗口停止
sys.exit(app.exec())

 运行程序:

QTextEdit的方法

方法

说明

setPlainText()

设置多行文本框的文本内容

toPlainText()

返回多行文本框的文本内容

setHtml()

设置多行文本框的内容为HTML文档

toHtml()

返回多行文本框的HTML文档内容

clear()

清空多行文本框的内容

猜你喜欢

转载自blog.csdn.net/bug_love/article/details/134817146