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...