上位机开发PyQt5(二)【单行输入框、多行输入框、按钮的信号和槽】

目录

一、单行输入框QLineEdit

QLineEdit的方法:

 二、多行输入框QTextEdit

QTextEdit的方法

三、按钮QPushButton

四、按钮的信号与槽

信号与槽简介:

信号和槽绑定:

使用PyQt的槽函数


一、单行输入框QLineEdit

QLineEdit控件可以输入单行文本

QLineEdit的方法:

方法

说明

setEchoMode()

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

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

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

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

setPlaceholderText()

设置文本框浮显文字

setText()

设置文本框内容

setMaxLength()

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

示例代码:

import sys

from 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的方法

方法

说明

setPlainText()

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

toPlainText()

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

setHtml()

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

toHtml()

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

clear()

清空多行文本框的内容

示例代码:

import sys

from 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

常见的按钮实现类包括:QPushButtonQRadioButtonQCheckBox

QPushButton是最普通的按钮控件,可以响应一些用户的事件

示例代码:

import sys

from 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 sys

from 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_())

运行结果:

点击退出窗口关闭

说明:

当用户点击“退出”按钮时,QPushButtonclicked信号会被触发,从而调用close_window槽函数,进而调用app.quit()来结束应用程序。这会导致窗口关闭,并且app.exec_()会返回,最终sys.exit()会被调用,确保Python解释器正常退出。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值