• 发文
  • 评论
  • 微博
  • 空间
  • 微信

用PyQt5做图形界面(二)文本组件:QLabel、QLineEdit、QTextEdit

ExASIC 2023-02-09 14:03 发文

今天介绍文本相关的三个组件:QLabel、QLineEdit、QTextEdit。

三者的区别是:QLabel一般用来显示提示性的文本或者说明,用户不可以直接修改内容。QLineEdit用来收集用户输入(单行文本,不能换行)。而QTextEdit用来收集用户输入的一大段文字。

需求:

做一个BUG提交的界面,用户可以输入BUG的标题和描述,点击按钮后,获取用户填写的信息,并显示在终端里。

分析:

我们先来做一些准备,提前学习几个函数。对于文本来说,最常用的就“设置文本”和“获取文本”。

QLabel和QLineEdit,setText(string)为设置文本,text()为获取文本。

而QTextEdit功能较为复杂,支持纯文本模式,也支持富文本模式(即html、插入图片、设置不同的格式等)。我们今天只会用到toPlainText()来获取QTextEdit的文本。

整理如下:

· QLabel.setText(string) 设置标签的文本

· QLineEdit.text() 获取单行文本框中的文字

· QTextEdit.toPlainText() 获取多行文本框中的文字

代码实现:

在《用PyQt5做图形界面(一)Hello world》的基础上,添加几个组件:

# BUG标题

label1 = QLabel()

label1.setText('Bug Title:')

vbox.addWidget(label1)


edit1 = QLineEdit()

vbox.addWidget(edit1)

# BUG描述

label2 = QLabel()

label2.setText('Bug Description:')

vbox.addWidget(label2)

edit2 = QTextEdit()

vbox.addWidget(edit2)

实现提交按钮的处理函数。从QLineEdit和QTextEdit中取出文字,并print出来。

def submit_handle():

    bug_title = edit1.text()

    bug_description = edit2.toPlainText()

    print('Bug title is {},Description is{}'.format(

         bug_title,

         bug_description))

最后,在界面上创建按钮,并连接到submit_handle()函数:

button = QPushButton('Submit')

button.clicked.connect(submit_handle)

vbox.addWidget(button)

总结:

在学习和使用pyqt5基本组件时,可以查阅pyqt5的官方类库找到相类组件可操作的函数列表,并阅读相关函数的说明。


声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    ExASIC

    分享数字集成电路设计中的经验和方...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码