我正在使用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圆角?