選項“頂部”和“底部”的規范似乎有一個奇怪的行為。以下回答的問題提供了一些有用的見解,但并不能解決所有問題。
使用代碼:
import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
input = QLineEdit()
input.setValidator(QDoubleValidator(0.00,10.00,5,notation=QDoubleValidator.StandardNotation))
input.show()
sys.exit(app.exec_())
輸入框接受任何低于 100 的數字,但我希望只有低于 10 的數字......例如,99.55656 被接受就好了......
我想念什么?
uj5u.com熱心網友回復:
在您的示例中, line-edit 并不真正接受 value 99.55656。這可以通過呼叫它的hasAcceptableInput方法來確認,該方法回傳False.
驗證器允許輸入值,因為這樣做會產生有效的中間狀態。根據檔案,這可能發生在“如果多一點編輯可能會使輸入可接受”。所以在特定情況下99.55656,洗掉 a9會產生一個有效的 Acceptable 狀態。這似乎意味著應該將“多一點編輯”理解為添加或洗掉單個字符(符號為StandardNotation)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409839.html
標籤:
上一篇:自定義邊框小部件顫振
