我正在使用PyQt4 QLineEdit小部件來接受密碼。有一個setMasking屬性,但不遵循如何設置掩碼字符。Masking QLineEdit文本
5
A
回答
7
對於QLineEdit
,在PyQt4或Qt4中沒有setMasking
屬性。你在說什麼setInputMask()
?如果你是,這不會做你認爲它確實如此。它設置驗證輸入的掩碼。
要讓控件隱藏輸入內容,請使用setEchoMode()
方法,該方法將(應該)顯示平臺的標準密碼隱藏字符。從我可以從文檔中看到,如果你想要顯示一個自定義字符,你將需要派生一個新的類。但總的來說,這是一個壞主意,因爲它違背了用戶期望看到的。
3
使用Qt非常簡單:只要查詢QStyle :: SH_LineEdit_PasswordCharacter常量,就需要定義一個新樣式並從styleHint方法返回新字符。下面是一個例子:
class LineEditStyle : public QProxyStyle
{
public:
LineEditStyle(QStyle *style = 0) : QProxyStyle(style) { }
int styleHint(StyleHint hint, const QStyleOption * option = 0,
const QWidget * widget = 0, QStyleHintReturn * returnData = 0) const
{
if (hint==QStyle::SH_LineEdit_PasswordCharacter)
return '%';
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
};
lineEdit->setEchoMode(QLineEdit::Password);
lineEdit->setStyle(new LineEditStyle(ui->lineEdit->style()));
現在的問題是pyqt似乎沒有任何關於QProxyStyle的知識;它似乎沒有包裹在那裏,所以你被卡住了,除非你想自己包裝它。
問候
1
由於文檔說http://doc-snapshot.qt-project.org/4.8/stylesheet-examples.html#customizing-qlineedit:
線編輯的密碼字符有QLineEdit的:密碼回聲模式可以設置使用:
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
14
editor = QLineEdit()
editor.setEchoMode(QLineEdit.Password)
相關問題
- 1. 從QLineEdit獲取文本以追加QTextEdit QLineEdit returnpressed()
- 2. Android Masking
- 3. Javascript:Overdrive URL Masking
- 4. Python如何獲得QLineEdit文本?
- 5. QLineEdit中的PySide文本不可編輯
- 6. 等待直到QLineEdit文本更改
- 7. 無法檢索從QLineEdit的文本值
- 8. 示例使用QSettings保存QLineEdit文本
- 9. PyQt:來自QLineEdit的文本不顯示
- 10. Masking in Matlab
- 11. Angular 2 Field Masking
- 12. Numpy row wise masking
- 13. openCV inRange masking
- 14. 如何在用戶點擊Qt中的QLineEdit時更改QLineEdit的文本?
- 15. iPhone OpenGL ES Texture2D Masking
- 16. 在asp.net中對文本框進行IP Masking控制?
- 17. Iphone - Masking JPG圖像
- 18. UITabBarController-like image masking effect
- 19. javascript中的Masking urls
- 20. Javascript Input Text Masking without Plugin
- 21. Masking域URL與子域URL
- 22. QlineEdit setInputMask()
- 23. QStyledItemDelegate部分選擇默認的QLineEdit編輯器的文本
- 24. QLineEdit佔位符文本在Qt 4.6.3中不起作用
- 25. 如何讓QPushButtons將文本添加到QLineEdit框中?
- 26. 如何將QLineEdit默認文本設置爲一個空格?
- 27. 如何動態地從QlineEdit獲取字符串(文本)?
- 28. 針對{[A-Z] [a-z] [0-9]}的QLineEdit驗證文本輸入
- 29. QLineEdit:更改clearButton
- 30. QLineEdit圓角?