添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Qt.AlignBottom:垂直方向靠下对齐 Qt.AlignVCenter:垂直方向居中对齐 * [ ] setEchoMode() 设置文本框的显示格式,允许输入的文本显示格式的值可以是: QLineEdit.Normal:正常显示所输入的字符,此为默认选项 QLineEdit.NoEcho:不显示任何输入的字符,常用于密码类型的输入,且长度保密 QLineEdit.Password:显示与平台相关的密码掩饰字符,而不是实际输入的字符 QLineEdit.PasswordEchoOnEdit:在编辑时显示字符,负责显示密码类型的输入 * [ ] setPlaceholderText() 设置文本框显示文字 * [ ] setMaxLength() 设置文本框所允许输入的最大字符数 * [ ] setReadOnly() 设置文本为只读 * [ ] setText() 设置文本框的内容 * [ ] text() 返回文本框的内容 * [ ] setDragEnable() 设置文本框是否接受拖动 * [ ] selectAll() 全选 * [ ] setFocus() 得到焦点 * [ ] setInputMask() 设置掩码 * [ ] setValidator() 设置文本框的验证器(验证规则),将限制任意可能输入的文本,可用的校验器为 QIntValidator:限制输入整数 QDoubleValidator:限制输入浮点数 QRegexpValidator:检查输入是否符合正则表达式 QLineEdit类中常用信号如下 * [ ] selectionChanged只要选择改变了,这个信号就会发射 * [ ] textChanged当修改文本内容时,这个信号就会发射 * [ ] editingFinished当编辑文本结束时,这个信号就会发射 import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QIntValidator, QFont, QDoubleValidator from PyQt5.QtWidgets import QApplication, QDesktopWidget, QWidget, QLineEdit, QFormLayout class MyWin(QWidget): def __init__(self): super(MyWin, self).__init__() self.MyUi() def MyUi(self): self.resize(600, 400) self.setWindowTitle("我的窗口") self.center() # 显示文本使用自定义字体,右对齐,允许输入整数 # 创建文本 e1 = QLineEdit() # 设置文本校验器为整数,只有输入整数才为有效值 e1.setValidator(QIntValidator()) # 设置允许输入的最大字符数 e1.setMaxLength(4) # 设置文本靠右对齐 e1.setAlignment(Qt.AlignRight) # 设置文本的字体和字号大小 e1.setFont(QFont('Arial', 20)) # 限制输入小数点后两位 # 创建文本 e2 = QLineEdit() # 设置浮点型校验器,有效范围(0.99-99.99),保留两位小数 e2.setValidator(QDoubleValidator(0.99, 99.99, 2)) # 表单布局 flo = QFormLayout() # 添加名称及控件到布局中 flo.addRow('integer validator', e1) flo.addRow('Double Validator', e2) # 需要一个输入掩码应用于电话号码 # 创建文本 e3 = QLineEdit() # 定义文本输入掩码,9:ASCII字母字符是必须输入的(0-9) e3.setInputMask('+99_9999_999999') flo.addRow('Input Mask', e3) # 需要发射信号textChanged,链接到槽函数textChanged() # 创建文本 e4 = QLineEdit() # 文本修改信号发射与槽函数的绑定 e4.textChanged.connect(self.textchanged) flo.addRow('Text changed', e4) # 设置显示模式EchoMode为Password需要发射editingfinished信号连接到槽函数enterPress(),一旦用户按下回车键,该函数就会执行 e5 = QLineEdit() # 设置文本框显示的格式,QLineEdit.Password:显示密码掩码字符,而不是实际输入的字符 e5.setEchoMode(QLineEdit.Password) flo.addRow('Password', e5) # 显示一个默认的文本,不能编辑,设置为只读 # 创建文本框并增添文本框的内容 e6 = QLineEdit('HELLO PyQt5') # 设置属性为只读 e6.setReadOnly(True) flo.addRow('Read Only', e6) # 编译完成的信号与槽函数的绑定 e5.editingFinished.connect(self.enterPress) # 设置窗口的布局 self.setLayout(flo) # 实现居中方式2 def center(self): # 获得屏幕坐标系 screen = QDesktopWidget().screenGeometry() # 获得窗口坐标系 size = self.geometry() # 获得窗口相关坐标 L = (screen.width() - size.width()) // 2 T = (screen.height() - size.height()) // 2 # 移动窗口使其居中 self.move(L, T) def textchanged(self, text): print('输入的内容为' + text) def enterPress(self): print('已输入') if __name__ == '__main__': app = QApplication(sys.argv) w = MyWin() w.show() sys.exit(app.exec_()) ![](https://img.kancloud.cn/00/dc/00dcfc5b8f3b6410a646e5e749d4aa5e_1516x558.png) **QTextEdit(文本域)** QTextEdit是一个多行文本框编辑控件,可以显示、编辑多行文本编辑内容,当文本内容超出控件显示范围时,可以显示水平和垂直滚动条,QTextEdit不仅可以显示文本,还可以显示HTML文档。 QTextEdit类中常用的方法 * [ ] setPlainText() 设置多行文本框的内容 * [ ] toPlainText() 返回多行文本框的文本内容 * [ ] setHtml() 设置多行文本框的文本内容为HTML文档,HTML文档是描述网页的 * [ ] toHtml() 返回多行文本框的HTML内容 * [ ] clear() 清除多行文本框的内容 QTextEdit类中常用的信号和QLineEdit类差不多 import sys from PyQt5.QtWidgets import QApplication, QDesktopWidget, QWidget, QTextEdit class MyWin(QWidget): def __init__(self): super(MyWin, self).__init__() self.MyUi() def MyUi(self): self.resize(400, 400) self.setWindowTitle("我的窗口") self.center() # 创建一个文本域 self.textEdit = QTextEdit(self) self.textEdit.resize(300, 100) self.textEdit.move(50, 30) # 创建一个文本域 self.textEdit2 = QTextEdit(self) self.textEdit2.resize(300, 150) self.textEdit2.move(50, 150) # 槽函数打印和传递 self.textEdit.textChanged.connect(self.displayText) def displayText(self): self.textEdit2.setText(self.textEdit.toPlainText()) print(self.textEdit.toPlainText()) # 实现居中方式2 def center(self): # 获得屏幕坐标系 screen = QDesktopWidget().screenGeometry() # 获得窗口坐标系 size = self.geometry() # 获得窗口相关坐标 L = (screen.width() - size.width()) // 2 T = (screen.height() - size.height()) // 2 # 移动窗口使其居中 self.move(L, T) if __name__ == '__main__': app = QApplication(sys.argv) w = MyWin() w.show() sys.exit(app.exec_()) ![](https://img.kancloud.cn/d7/78/d77800693cf5fe9a5eb03d9253ee4eea_1877x600.png) **QTextBrowser(文本阅览框)** 文本阅览框QTextBrowser() 用法和QTextEdit(文本域)相同