目录
一、单行输入框QLineEdit
QLineEdit的方法:
二、多行输入框QTextEdit
QTextEdit的方法
三、按钮QPushButton
四、按钮的信号与槽
信号与槽简介:
信号和槽绑定:
使用PyQt的槽函数
一、单行输入框QLineEdit
QLineEdit控件可以输入单行文本
QLineEdit的方法:
方法 | 说明 |
|
|
| 设置文本框浮显文字 |
| 设置文本框内容 |
| 设置文本框所允许输入的最大字符数 |
示例代码:
import sysfrom PyQt5.QtWidgets import *# 创建QApplication对象
app = QApplication(sys.argv)# 创建QWidget对象 窗口
w = QWidget()# 创建QLineEdit对象
edit = QLineEdit()# 设置默认提示语
edit.setPlaceholderText("请输入你的银行卡账号:")
# 设置内容为"12345"
edit.setText("12345")# 设置最大输入的长度
edit.setMaxLength(16)# 获取文本内容
print(edit.text())# 设置输入框的回显模式,密码模式
edit.setEchoMode(QLineEdit.Password)# 指定父对象
edit.setParent(w)# 设置输入框的# 显示窗口
w.show()# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
QLineEdit()
QLineEdit
是一个允许用户输入和编辑纯文本或密码的控件。
setPlaceholderText("xxxx")
设置 QLineEdit
的占位符文本。当 QLineEdit
为空时,这个文本会显示出来,提示用户输入内容。
setText("xxx")
设置 QLineEdit
的初始文本。在这个例子中我设置为“12345”.
setMaxLength(num)
设置 QLineEdit
允许的最大输入字符数为 num,num为数字,根据情况设置。在这个例子中我设置为16.
text()
获取 QLineEdit
的当前文本内容。在这个例子中,它会返回 "12345",因为 setText
方法之前设置了这个值。
setEchoMode(QLineEdit.Password)
设置 QLineEdit
的回显模式为密码模式。这意味着输入的字符会被隐藏(通常显示为星号或点),用于输入密码等敏感信息。
二、多行输入框QTextEdit
QTextEdit
控件用来输入多行文本
QTextEdit的方法
方法 | 说明 |
| 设置多行文本框的文本内容 |
| 返回多行文本框的文本内容 |
| 设置多行文本框的内容为HTML文档 |
| 返回多行文本框的HTML文档内容 |
| 清空多行文本框的内容 |
示例代码:
import sysfrom PyQt5.QtWidgets import *# 创建QApplication对象
app = QApplication(sys.argv)# 创建QWidget对象 窗口
w = QWidget()# 创建QTextEdit对象
txt = QTextEdit()# 设置提示信息
txt.setPlaceholderText("请输入你的履历")# 设置默认内容
txt.setText("Hello World")# 获取内容
print(txt.toPlainText())# 指定父对象
txt.setParent(w)w.show()# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
toPlainText()
toPlainText
方法的主要作用是将 QTextEdit
中的内容转换为纯文本格式,并返回这个纯文本字符串。
三、按钮QPushButton
常见的按钮实现类包括:QPushButton
、QRadioButton
和QCheckBox
QPushButton
是最普通的按钮控件,可以响应一些用户的事件
示例代码:
import sysfrom PyQt5.QtWidgets import *# 创建QApplication对象
app = QApplication(sys.argv)# 创建QWidget对象 窗口
w = QWidget()# 设置按钮对象
# btn = QPushButton("点击抽奖")
btn = QPushButton()# 设置按钮的文本内容
btn.setText("点击抽奖")# 获取内容
print(btn.text())# 指定父对象
btn.setParent(w)
# 显示窗口
w.show()# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
QPushButton()
QPushButton
用于创建一个可以点击的按钮。
setText("xxx")
setText
方法用于设置 QPushButton
控件的文本内容。
text()
text
方法返回 QPushButton
控件的当前文本内容。
四、按钮的信号与槽
信号与槽简介:
信号和槽机制是 QT 的核心机制,应用于对象之间的通信
- 信号和槽是用来在对象间传递数据的方法
- 当一个特定事件发生的时候,
signal
会被emit
出来,slot
调用是用来响应相应的signal
的 - Qt中对象已经包含了许多预定义的
signal
(基本组件都有各自特有的预定义的信号) - 槽函数绑定了信号,信号一旦发出,就会自动调用绑定的槽函数
信号和槽绑定:
通过调用 QObject 对象的 connect 函数来将对象的信号与另外一个对象的槽函数相关联,当发射者发射信号时,接收者的槽函数将被调用
示例代码:
import sysfrom PyQt5.QtWidgets import *# 创建QApplication对象
app = QApplication(sys.argv)# 创建QWidget对象 窗口
w = QWidget()# 设置按钮对象
# btn = QPushButton("点击抽奖")
btn = QPushButton()# 设置按钮的文本内容
btn.setText("点击抽奖")# 获取内容
print(btn.text())# 指定父对象
btn.setParent(w)# 方式1:自定义槽函数
def func():print("中奖五百万!")# 绑定信号与槽
btn.clicked.connect(func)# 方式2:槽函数为匿名函数
btn.clicked.connect(lambda:print("中奖一千万!"))# 显示窗口
w.show()# 进入事件循环
sys.exit(app.exec_())
运行结果:
说明:
clicked.connect(func)
将 QPushButton
对象的 clicked
信号连接到 func
函数。当按钮被点击时,clicked
信号会被发出,从而触发 func
函数的执行。
clicked.connect(lambda:print("中奖一千万!"))
同样是将 QPushButton
对象的 clicked
信号连接到一个匿名函数。当按钮被点击时,这个匿名函数会被执行,从而打印 "中奖一千万!"。
使用PyQt的槽函数
利用系统自带退出函数QApplication.quit
点击按钮,关闭窗口
示例代码:
import sys
from PyQt5.QtWidgets import *# 创建QApplication对象
app = QApplication(sys.argv)# 创建QWidget对象作为窗口
window = QWidget()# 设置窗口标题和大小
window.setWindowTitle('PyQt 退出示例')
window.setGeometry(100, 100, 300, 200)# 创建QPushButton对象
exit_button = QPushButton('退出', window)# 设置按钮的位置和大小
exit_button.setGeometry(100, 70, 100, 30)# 定义槽函数,用于关闭窗口
def close_window():app.quit()# 绑定信号与槽
exit_button.clicked.connect(close_window)# 显示窗口
window.show()# 进入事件循环
sys.exit(app.exec_())
运行结果:
点击退出窗口关闭
说明:
当用户点击“退出”按钮时,QPushButton
的clicked
信号会被触发,从而调用close_window
槽函数,进而调用app.quit()
来结束应用程序。这会导致窗口关闭,并且app.exec_()
会返回,最终sys.exit()
会被调用,确保Python解释器正常退出。