PYQT5學習 QLineEdit驗證器的使用

2021-10-18 19:25:35 字數 2113 閱讀 2459

import sys

from pyqt5.qt import

*#因為驗證器qvalidator為抽象類,不能直接例項化,所以先用繼續方式生成乙個子類

class

agevalidator

(qvalidator)

:#驗證器會直接呼叫validate方法,所以可以用改寫方法得驗證策略

defvalidate

(self, input_str, pos_int)

:try:if

18<=

int(input_str)

<=

180:

return

(qvalidator.acceptable,input_str,pos_int)

elif

1<=

int(input_str)

<=17:

return

(qvalidator.intermediate, input_str, pos_int)

else

:return

(qvalidator.invalid,input_str,pos_int)

except exception as e:

print

(e)if

len(input_str)==0

:return

(qvalidator.intermediate, input_str, pos_int)

return

(qvalidator.invalid, input_str, pos_int)

#輸入結束但當通過上面的方法得到intermediate狀態時,還會呼叫fixup方法來最終確認

deffixup

(self, input_str)

:try:if

int(input_str)

<=18:

return

'18'

ifint

(input_str)

>=

180:

return

'180'

except exception as e:

print

(e)return

'180'

class

window

(qwidget)

:def

__init__

(self,

*args,

**kwargs)

:super()

.__init__(

*args,

**kwargs)

self.resize(

500,

500)

self.setwindowtitle(

'qlineedit的使用'

) self.setup_ui(

)def

setup_ui

(self)

: le1 = qlineedit(self)

le1.move(

100,

100)

le1.setvalidator(agevalidator())

le1.setmaxlength(20)

le2 = qlineedit(self)

le2.settext(

'這是唯讀的'

) le2.move(

100,

150)

le2.setreadonly(

true

) le3 = qlineedit(self)

le3.move(

100,

200)

#通過掩碼設定文字規則

#總共輸入4位,"-"左邊2必須是大寫字母,'-'右邊2必須是數字

le3.setinputmask(

'>aa-99;$'

)# 掩碼字元可以網上查詢,$是預設佔位符,可設定其他任意字元

if __name__ ==

'__main__'

: window = window(

) window.show())

)

PyQt5 學習筆記

pyqt5是由一系列python模組組成。超過620個類,6000函式和方法。能在諸如unix windows和mac os等主流作業系統上執行。pyqt5有兩種證書,gpl和商業證書。pyqt5類分為很多模組,主要模組有 qtcore 包含了核心的非gui的功能。主要和時間 檔案與資料夾 各種資料...

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...

PyQT5 學習使用 筆記 一 安裝pyQT5

之前已經學習過了qt 的 基本使用了解了 訊號和槽 的機制。由於新專案需要跨平台,所以 在視覺開發包的選擇上 選擇了opencv python,所幸 qt也有pyqt5 的包可以和 opencv python 聯合使用開發。廢話不說了 開始安裝吧。開啟cmd命令列介面輸入 pip install p...