Ich benutze PyQt4 QLineEdit Widget, um das Passwort zu akzeptieren. Es gibt eine setMasking-Eigenschaft, die jedoch nicht dem Festlegen des Maskierungszeichens folgt.Maskieren von QLineEdit-Text
Antwort
Es gibt keine setMasking
Eigenschaft für QLineEdit
in entweder PyQt4 oder Qt4. Sprechen Sie über ? Wenn du es tust, tut das nicht, was du zu tun scheinst. Es legt die Maske fest, mit der die Eingabe validiert werden soll.
Um das Steuerelement zu verbergen, was getippt wird, verwenden Sie die setEchoMode()
-Methode, die das standardmäßige Kennwort-Versteckzeichen für die Plattform anzeigen soll (sollte). Wenn Sie möchten, dass ein benutzerdefiniertes Zeichen angezeigt wird, müssen Sie aus der Dokumentation eine neue Klasse ableiten. Im Allgemeinen ist dies jedoch eine schlechte Idee, da es dem widerspricht, was Nutzer erwarten.
Es ist ziemlich einfach mit Qt: Sie müssten einen neuen Stil definieren und ein neues Zeichen aus der styleHint-Methode zurückgeben, wenn die QStyle :: SH_LineEdit_PasswordCharacter-Konstante abgefragt wird. Unten ist ein Beispiel:
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()));
Jetzt ist das Problem, dass pyqt scheint nichts über QProxyStyle zu wissen; es scheint nicht eingepackt zu sein, also steckst du fest, außer du würdest es selbst wickeln wollen.
Grüße
Wie docs sagen http://doc-snapshot.qt-project.org/4.8/stylesheet-examples.html#customizing-qlineedit:
Das Passwort Zeichen der Zeile Änderungen, die Echo QLineEdit :: Passwort-Modus haben kann mit eingestellt werden:
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
editor = QLineEdit()
editor.setEchoMode(QLineEdit.Password)
- 1. Schneiden oder Maskieren?
- 2. Eigen: ein Array maskieren
- 3. URL in HTML maskieren
- 4. Passwörter mit Logback maskieren?
- 5. Absturz beim Maskieren eines Bildes
- 6. Welche Möglichkeiten, einen mysqldump zu maskieren?
- 7. Numpy Array Verlust der Dimension beim Maskieren
- 8. Kann scipy.stats offensichtliche Ausreißer identifizieren und maskieren?
- 9. Regulärer Ausdruck zum Maskieren von Zeichenfolgen mit Zeichensatzersetzung
- 10. Wie kann ich numpy_1.8 durch das Maskieren von numpy_1.10 stoppen?
- 11. Kann CSS zum Maskieren von Hintergrundbildern verwendet werden?
- 12. Regex zum Maskieren von Sonderzeichen Passwort in Dateien
- 13. Möglichkeit, Funktionen auf Python-Objekt zu maskieren
- 14. Einen CALayer mit einem anderen CALayer maskieren
- 15. Maskieren Sie einen Teil der Zeichenfolge
- 16. Wie UIViews in iOS zu maskieren
- 17. Wie maskieren Bytes in ARM-Assembly?
- 18. Finden die Ecken eines Polygons durch eine Region dargestellt maskieren
- 19. URL maskieren oder externe URL verbergen oder umleiten
- 20. Maskieren Sie den Servernamen in der URL in IIS 7
- 21. Wie kann ich ein Passwort mit Anko maskieren?
- 22. Anhängen von .00 nach der Zahl Spalte beim Maskieren von SQL-Abfrage
- 23. Ein Bild mit einem vorhandenen SVG-Pfad maskieren
- 24. SVG: Kann ich mit einem dicken, offenen Strich maskieren?
- 25. Verbergen oder maskieren Abfrageparameter einer URL in Javascript
- 26. Wie empfindliche Werte in JSON für Protokollierungszwecke zu maskieren
- 27. Java Regular Expression sensible Daten in Protokollen zu maskieren
- 28. Scala: Wie die ersten N Zeichen eines Strings maskieren
- 29. Wie maskieren Sie das Bild in C# mit ITextSharp.dll?
- 30. Eine Textbox nur für Zahlen maskieren, aber nicht akzeptieren BackSpace