今天介紹文本相關(guān)的三個(gè)組件:QLabel、QLineEdit、QTextEdit。
三者的區(qū)別是:QLabel一般用來(lái)顯示提示性的文本或者說(shuō)明,用戶(hù)不可以直接修改內(nèi)容。QLineEdit用來(lái)收集用戶(hù)輸入(單行文本,不能換行)。而QTextEdit用來(lái)收集用戶(hù)輸入的一大段文字。
需求:
做一個(gè)BUG提交的界面,用戶(hù)可以輸入BUG的標(biāo)題和描述,點(diǎn)擊按鈕后,獲取用戶(hù)填寫(xiě)的信息,并顯示在終端里。
分析:
我們先來(lái)做一些準(zhǔn)備,提前學(xué)習(xí)幾個(gè)函數(shù)。對(duì)于文本來(lái)說(shuō),最常用的就“設(shè)置文本”和“獲取文本”。
QLabel和QLineEdit,setText(string)為設(shè)置文本,text()為獲取文本。
而QTextEdit功能較為復(fù)雜,支持純文本模式,也支持富文本模式(即html、插入圖片、設(shè)置不同的格式等)。我們今天只會(huì)用到toPlainText()來(lái)獲取QTextEdit的文本。
整理如下:- QLabel.setText(string) 設(shè)置標(biāo)簽的文本
- QLineEdit.text()獲取單行文本框中的文字
- QTextEdit.toPlainText()獲取多行文本框中的文字
代碼實(shí)現(xiàn):
在《用PyQt5做圖形界面(一)Hello world》的基礎(chǔ)上,添加幾個(gè)組件:
# BUG標(biāo)題
label1=QLabel()
label1.setText('BugTitle:')
vbox.addWidget(label1)
edit1 = QLineEdit()
vbox.addWidget(edit1)
# BUG描述
label2 = QLabel()
label2.setText('Bug Description:')
vbox.addWidget(label2)
edit2 = QTextEdit()
vbox.addWidget(edit2)
實(shí)現(xiàn)提交按鈕的處理函數(shù)。從QLineEdit和QTextEdit中取出文字,并print出來(lái)。
def submit_handle():
bug_title = edit1.text()
bug_description = edit2.toPlainText()
print('Bug title is {},
Description is
{}'.format(
bug_title,
bug_description))
最后,在界面上創(chuàng)建按鈕,并連接到submit_handle()函數(shù):
button = QPushButton('Submit')
button.clicked.connect(submit_handle)
vbox.addWidget(button)
總結(jié):
在學(xué)習(xí)和使用pyqt5基本組件時(shí),可以查閱pyqt5的官方類(lèi)庫(kù)(https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/index.html#module-PySide2.QtWidgets),找到相類(lèi)組件可操作的函數(shù)列表,并閱讀相關(guān)函數(shù)的說(shuō)明。
審核編輯 :李倩
-
圖形界面
+關(guān)注
關(guān)注
0文章
38瀏覽量
7549 -
pyqt5
+關(guān)注
關(guān)注
0文章
25瀏覽量
3508
原文標(biāo)題:用PyQt5做圖形界面(二)文本組件:QLabel、QLineEdit、QTextEdit
文章出處:【微信號(hào):ExASIC,微信公眾號(hào):ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用PyQt5自動(dòng)初始化OpenVINO?環(huán)境出現(xiàn)報(bào)錯(cuò)怎么解決?
【Firefly RK3399試用體驗(yàn)】第二篇:PyQt5大戰(zhàn)點(diǎn)燈
文本組件 - Text 精華
利用PyQt5編輯軟件界面的簡(jiǎn)單步驟
如何使用Python配合PyQT5模塊來(lái)開(kāi)發(fā)圖形化應(yīng)用程序
Linux字符界面轉(zhuǎn)圖形界面
PyQt5的中文教程電子書(shū)免費(fèi)下載

用PyQt5做圖形界面(一)Hello world
PyQT5中的QPainter類(lèi)支持與圖元支持實(shí)現(xiàn)圖形繪制
如何用PyQt5做圖形界面(一)

Python上位機(jī)軟件圖形界面實(shí)戰(zhàn)——PyQt

使用pycharm開(kāi)發(fā)上位機(jī)配置pyqt5的環(huán)境

基于PyQT5與ONNXRUNTIME實(shí)現(xiàn)風(fēng)格遷移應(yīng)用

GUI圖形界面編程tkinter高級(jí)組件介紹

評(píng)論