欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5單行文本框控件QLineEdit詳細(xì)使用方法與實(shí)例

 更新時(shí)間:2020年02月27日 14:57:43   作者:jia666666  
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5單行文本框控件QLineEdit詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下

PyQt5單行文本框控件QLineEdit介紹

QLineEdit類(lèi)是一個(gè)單行文本框控件,可以輸入單行字符串。

QLineEdit類(lèi)中常用的方法如下表

方法 描述
setAlignment() 按固定值方式對(duì)齊文本
Qt.AlignLeft:水平方向靠左對(duì)齊
Qt.AlignRight:水平方向靠右對(duì)齊
Qt.AlignCenter:水平方向居中對(duì)齊
Qt.AlignJustify:水平方向調(diào)整間距兩端對(duì)齊
Qt.AlignTop:垂直方向靠上對(duì)齊
Qt.AlignBottom:垂直方向靠下對(duì)齊
Qt.AlignVCenter:垂直方向居中對(duì)齊
setEchoMode() 設(shè)置文本框的顯示格式,允許輸入的文本顯示格式的值可以是:
QLineEdit.Normal:正常顯示所輸入的字符,此為默認(rèn)選項(xiàng)
QLineEdit.NoEcho:不顯示任何輸入的字符,常用于密碼類(lèi)型的輸入,且長(zhǎng)度保密
QLineEdit.Password:顯示與平臺(tái)相關(guān)的密碼掩飾字符,而不是實(shí)際輸入的字符
QLineEdit.PasswordEchoOnEdit:在編輯時(shí)顯示字符,負(fù)責(zé)顯示密碼類(lèi)型的輸入
setPlaceholderText() 設(shè)置文本框顯示文字
setMaxLength() 設(shè)置文本框所允許輸入的最大字符數(shù)
setReadOnly() 設(shè)置文本為只讀
setText() 設(shè)置文本框的內(nèi)容
text() 返回文本框的內(nèi)容
setDragEnable() 設(shè)置文本框是否接受拖動(dòng)
selectAll() 全選
setFocus() 得到焦點(diǎn)
setInputMask() 設(shè)置掩碼
setValidator() 設(shè)置文本框的驗(yàn)證器(驗(yàn)證規(guī)則),將限制任意可能輸入的文本,可用的校驗(yàn)器為
QIntValidator:限制輸入整數(shù)
QDoubleValidator:限制輸入浮點(diǎn)數(shù)
QRegexpValidator:檢查輸入是否符合正則表達(dá)式

QLineEdit類(lèi)中常用信號(hào)如下

信號(hào) 描述
selectionChanged 只要選擇改變了,這個(gè)信號(hào)就會(huì)發(fā)射
textChanged 當(dāng)修改文本內(nèi)容時(shí),這個(gè)信號(hào)就會(huì)發(fā)射
editingFinished 當(dāng)編輯文本結(jié)束時(shí),這個(gè)信號(hào)就會(huì)發(fā)射

定義輸入掩碼的字符

下表列出了輸入掩碼的占位符和字面字符,并說(shuō)明其如何控制數(shù)據(jù)輸入

字符 含義
A ASCII字母字符是必須輸入的(A-Z,a-z)
a ASCII字母字符是允許輸入的,但不是必須輸入的
N ASCII字母字符是必須輸入的(A-Z,a-z,0-9)
n ASCII字母字符是允許輸入的,但不是必須輸入的
X 任何字符都是必須輸入
x 任何字符都是允許輸入的,但不是必須輸入的
9 ASCII數(shù)字字符是必須輸入的(0-9)
0 ASCII數(shù)字字符是允許輸入的,但不是必須輸入的
D ASCII數(shù)字字符是必須輸入的(1-9)
d ASCII數(shù)字字符是允許輸入的,但不是必須的(1-9)
# ASCII數(shù)字字符與加減字符是允許輸入的,但不是必須的
H 十六進(jìn)制格式字符是必須輸入的(A-F,a-f,0-9)
h 十六進(jìn)制格式字符允許輸入,但不是必須的
B 二進(jìn)制格式字符是必須輸入的(0,1)
b 二進(jìn)制格式字符是允許輸入的,但不是必須的
> 所有字母字符都大寫(xiě)
< 所有字母字符都小寫(xiě)
! 關(guān)閉大小寫(xiě)轉(zhuǎn)換
\ 使用‘\'轉(zhuǎn)義上面列出的字符

掩碼由掩碼字符與分隔符字符串組成,后面可以跟一個(gè)分號(hào)和空白字符,空白字符在編輯后會(huì)從文本刪除的

掩碼示例如下:

掩碼 注意事項(xiàng)
000.000.000.000;_ ip地址,空白字符是‘_'
HH:HH:HH:HH:HH:HH; MAC地址
0000-00-00 日期,空白字符是空格
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# 許可證號(hào),空白字符是‘_',所有字母都轉(zhuǎn)換為大寫(xiě)

EchoMode的顯示效果

from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout
import sys

class lineEditDemo(QWidget):
  def __init__(self,parent=None):
    super(lineEditDemo, self).__init__(parent)
    self.setWindowTitle('QLineEdit例子')

    #實(shí)例化表單布局
    flo=QFormLayout()

    #創(chuàng)建4個(gè)文本輸入框
    PNormalLineEdit=QLineEdit()
    pNoEchoLineEdit=QLineEdit()
    pPasswordListEdit=QLineEdit()
    pPasswordEchoOnEditLineEdit=QLineEdit()

    #添加到表單布局中
    #flo.addRow(文本名稱(chēng)(可以自定義),文本框)
    flo.addRow('Normal',PNormalLineEdit)
    flo.addRow('NoEcho', pNoEchoLineEdit)
    flo.addRow('Password', pPasswordListEdit)
    flo.addRow('PasswordEchoOnEdit', pPasswordEchoOnEditLineEdit)

    #設(shè)置setPlaceholderText()文本框浮現(xiàn)的文字
    PNormalLineEdit.setPlaceholderText('Normal')
    pNoEchoLineEdit.setPlaceholderText('NoEcho')
    pPasswordListEdit.setPlaceholderText('Password')
    pPasswordEchoOnEditLineEdit.setPlaceholderText('PasswordEchoOnEdit')

    #setEchoMode():設(shè)置顯示效果

    #QLineEdit.Normal:正常顯示所輸入的字符,此為默認(rèn)選項(xiàng)
    PNormalLineEdit.setEchoMode(QLineEdit.Normal)
    #QLineEdit.NoEcho:不顯示任何輸入的字符,常用于密碼類(lèi)型的輸入,且長(zhǎng)度保密
    pNoEchoLineEdit.setEchoMode(QLineEdit.NoEcho)
    #QLineEdit.Password:顯示與平臺(tái)相關(guān)的密碼掩飾字符,而不是實(shí)際輸入的字符
    pPasswordListEdit.setEchoMode(QLineEdit.Password)
    #QLineEdit.PasswordEchoOnEdit:在編輯時(shí)顯示字符,負(fù)責(zé)顯示密碼類(lèi)型的輸入
    pPasswordEchoOnEditLineEdit.setEchoMode(QLineEdit.PasswordEchoOnEdit)

    #設(shè)置窗口的布局
    self.setLayout(flo)

if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=lineEditDemo()
  win.show()
  sys.exit(app.exec_())

效果如下

QLineEdit驗(yàn)證器實(shí)例

#導(dǎo)入,Qapplication,單行文本框,窗口,表單布局
from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout
#導(dǎo)入文本校驗(yàn)器:整數(shù)校驗(yàn)器與浮點(diǎn)數(shù)校驗(yàn)器,其他自定義校驗(yàn)器
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator

from PyQt5.QtCore import QRegExp
import sys

class lineEditDemo(QWidget):
  def __init__(self,parent=None):
    super(lineEditDemo, self).__init__(parent)
    self.setWindowTitle('QLineEdit例子')

    #實(shí)例化表單布局
    flo=QFormLayout()

    #創(chuàng)建三個(gè)文本框
    pIntLineEdit=QLineEdit()
    pDoubleLineEdit=QLineEdit()
    pValidatorLineEdit=QLineEdit()

    #表單布局添加名稱(chēng)及控件
    flo.addRow('整型',pIntLineEdit)
    flo.addRow('浮點(diǎn)型',pDoubleLineEdit)
    flo.addRow('字母和數(shù)字',pValidatorLineEdit)

    #設(shè)置文本框的默認(rèn)浮現(xiàn)文本
    pIntLineEdit.setPlaceholderText('整型')
    pDoubleLineEdit.setPlaceholderText('浮點(diǎn)型')
    pValidatorLineEdit.setPlaceholderText('字母和數(shù)字')

    #整型 范圍 【1-99】

    #實(shí)例化整型驗(yàn)證器,并設(shè)置范圍為1-99
    pIntvalidator=QIntValidator(self)
    pIntvalidator.setRange(1,99)

    #浮點(diǎn)型 范圍 【-360,360】,精度 小數(shù)點(diǎn)后兩位

    #實(shí)例化浮點(diǎn)驗(yàn)證器,設(shè)置范圍-360到360
    pDoubleValidator=QDoubleValidator()
    pDoubleValidator.setRange(-360,360)

    pDoubleValidator.setNotation(QDoubleValidator.StandardNotation)
    #設(shè)置精度小數(shù)點(diǎn)后兩位
    pDoubleValidator.setDecimals(2)

    #字母和數(shù)字

    #設(shè)置文本允許出現(xiàn)的字符內(nèi)容
    reg=QRegExp('[a-zA-Z0-9]+$')
    #自定義文本驗(yàn)證器
    pValidator=QRegExpValidator(self)
    #設(shè)置屬性
    pValidator.setRegExp(reg)

    #設(shè)置驗(yàn)證器
    pIntLineEdit.setValidator(pIntvalidator)
    pDoubleLineEdit.setValidator(pDoubleValidator)
    pValidatorLineEdit.setValidator(pValidator)

    self.setLayout(flo)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=lineEditDemo()
  win.show()
  sys.exit(app.exec_())

效果如下

QLineEdit輸入掩碼實(shí)例

from PyQt5.QtWidgets import QApplication,QLineEdit,QFormLayout,QWidget
import sys

class lineEditDemo(QWidget):
  def __init__(self,parent=None):
    super(lineEditDemo, self).__init__(parent)
    self.setWindowTitle('QlineEdit的掩碼輸入例子')

    #實(shí)例化表單布局
    flo=QFormLayout()
    #創(chuàng)建4個(gè)文本框
    pIPlineEdit=QLineEdit()
    pMAXlineEdit=QLineEdit()
    pDatelineEdit=QLineEdit()
    pLiceseLineEdit=QLineEdit()

    #setInputMask():設(shè)置掩碼

    #ip地址掩碼
    pIPlineEdit.setInputMask('000.000.000.000;_')
    #Mac地址掩碼
    pMAXlineEdit.setInputMask('HH:HH:HH:HH:HH:HH;_')
    #日期掩碼
    pDatelineEdit.setInputMask('0000-00-00')
    #許可證掩碼
    pLiceseLineEdit.setInputMask('>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#')


    #添加名稱(chēng)與控件到表單布局中
    flo.addRow('數(shù)字掩碼',pIPlineEdit)
    flo.addRow('Mac掩碼',pMAXlineEdit)
    flo.addRow('日期掩碼',pDatelineEdit)
    flo.addRow('許可證掩碼',pLiceseLineEdit)

    #設(shè)置窗口的布局
    self.setLayout(flo)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=lineEditDemo()
  win.show()
  sys.exit(app.exec_())

效果如下

QLineEdit綜合實(shí)例

from PyQt5.QtWidgets import QApplication,QLineEdit,QFormLayout,QWidget
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QFont
from PyQt5.QtCore import Qt
import sys

class lineEditDemo(QWidget):
  def __init__(self,parent=None):
    super(lineEditDemo, self).__init__(parent)

    #創(chuàng)建文本
    e1=QLineEdit()
    #設(shè)置文本校驗(yàn)器為整數(shù),只有輸入整數(shù)才為有效值
    e1.setValidator(QIntValidator())
    #設(shè)置允許輸入的最大字符數(shù)
    e1.setMaxLength(4)
    #設(shè)置文本靠右對(duì)齊
    e1.setAlignment(Qt.AlignRight)
    #設(shè)置文本的字體和字號(hào)大小
    e1.setFont(QFont('Arial',20))

    #創(chuàng)建文本
    e2=QLineEdit()
    #設(shè)置浮點(diǎn)型校驗(yàn)器,有效范圍(0.99-99.99),保留兩位小數(shù)
    e2.setValidator(QDoubleValidator(0.99,99.99,2))

    #表單布局
    flo=QFormLayout()
    #添加名稱(chēng)及控件到布局中
    flo.addRow('integer validator',e1)
    flo.addRow('Double Validator',e2)

    #創(chuàng)建文本
    e3=QLineEdit()
    #定義文本輸入掩碼,9:ASCII字母字符是必須輸入的(0-9)
    e3.setInputMask('+99_9999_999999')

    flo.addRow('Input Mask',e3)


    e4=QLineEdit()
    #文本修改信號(hào)發(fā)射與槽函數(shù)的綁定
    e4.textChanged.connect(self.textchanged)

    flo.addRow('Text changed',e4)

    e5=QLineEdit()
    #設(shè)置文本框顯示的格式,QLineEdit.Password:顯示密碼掩碼字符,而不是實(shí)際輸入的字符
    e5.setEchoMode(QLineEdit.Password)
    flo.addRow('Password',e5)

    #創(chuàng)建文本框并增添文本框的內(nèi)容
    e6=QLineEdit('HELLO PyQt5')
    #設(shè)置屬性為只讀
    e6.setReadOnly(True)
    flo.addRow('Read Only',e6)
    #編譯完成的信號(hào)與槽函數(shù)的綁定
    e5.editingFinished.connect(self.enterPress)

    #設(shè)置窗口的布局
    self.setLayout(flo)

    self.setWindowTitle("QLinedit例子")

  def textchanged(self,text):
    print('輸入的內(nèi)容為'+text)

  def enterPress(self):
    print('已輸入')
if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=lineEditDemo()
  win.show()
  sys.exit(app.exec_())

在這個(gè)例子中,演示了使用QLineEdit對(duì)象的一些方法

第一個(gè)文本框e1,顯示文本使用自定義字體,右對(duì)齊,允許輸入整數(shù)

第二個(gè)文本框e2,限制輸入小數(shù)點(diǎn)后兩位

第三個(gè)文本框e3,需要一個(gè)輸入掩碼應(yīng)用于電話號(hào)碼

第四個(gè)文本框e4,需要發(fā)射信號(hào)textChanged,鏈接到槽函數(shù)textChanged()

第五個(gè)文本框e5,設(shè)置顯示模式EchoMode為Password需要發(fā)射editingfinished信號(hào)連接到槽函數(shù)enterPress(),一旦用戶按下回車(chē)鍵,該函數(shù)就會(huì)執(zhí)行

本文詳細(xì)講解了PyQt5中單行文本框控件QLineEdit詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5中單行文本框控件QLineEdit使用方法與實(shí)例請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • python中Event實(shí)現(xiàn)線程間同步介紹

    python中Event實(shí)現(xiàn)線程間同步介紹

    這篇文章主要介紹了python中Event實(shí)現(xiàn)線程間同步,Event是python線程間同步一種常用的方法,下列內(nèi)容總結(jié)需要的朋友可以參考一下
    2022-04-04
  • Python使用Requests請(qǐng)求網(wǎng)頁(yè)方式

    Python使用Requests請(qǐng)求網(wǎng)頁(yè)方式

    這篇文章主要介紹了Python使用Requests請(qǐng)求網(wǎng)頁(yè)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 最新評(píng)論