Używam widżetu PyQt4 QLineEdit do akceptowania hasła. Istnieje właściwość setMasking, ale nie po ustawieniu znaku maskującego.Maskowanie tekstu QLineEdit
Odpowiedz
Brak właściwości setMasking
dla QLineEdit
w PyQt4 lub Qt4. Czy mówisz o setInputMask()
? Jeśli tak, to nie robi tego, co wydaje się, że to robi. Ustawia maskę, która służy do sprawdzania poprawności danych wejściowych.
Aby uzyskać kontrolę ukrywania wpisanego tekstu, należy użyć metody setEchoMode()
, która będzie (powinna) wyświetlać standardowy znak ukrywania haseł platformy. Z tego, co widzę w dokumentacji, jeśli chcesz, aby wyświetlany był niestandardowy znak, musisz wyprowadzić nową klasę. Generalnie jednak jest to zły pomysł, ponieważ jest sprzeczny z oczekiwaniami użytkowników.
To całkiem proste przy użyciu Qt: musisz zdefiniować nowy styl i zwrócić nowy znak z metody styleHint, gdy kwerenda jest stała QStyle :: SH_LineEdit_PasswordCharacter. Poniżej znajduje się przykład:
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()));
Problem polega na tym, że pyqt nie ma pojęcia o QProxyStyle; wydaje się, że nie jest tam owinięty, więc utknąłeś, chyba że sam chciałbyś go owinąć.
pozdrowienia
Jak docs powiedzieć http://doc-snapshot.qt-project.org/4.8/stylesheet-examples.html#customizing-qlineedit:
Charakter hasło edycji liniowych, które mają QLineEdit :: tryb echo Hasło można ustawić za pomocą:
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}
editor = QLineEdit()
editor.setEchoMode(QLineEdit.Password)
- 1. maskowanie UIImage
- 2. Uzyskaj wartość z qlineedit
- 3. Jak QLineEdit poszerzyć wewnątrz QScrollArea
- 4. Eigen: maskowanie tablicy
- 5. maskowanie dla krosów BLSTM
- 6. Maskowanie wyjątków w Delphi
- 7. Maskowanie CGContext za pomocą CGPathRef?
- 8. Co to jest maskowanie bitowe?
- 9. Get UIBezierpath od maskowanie UIImage
- 10. Jak uzyskać dynamiczne maskowanie UIView?
- 11. Jak dodać obiekt QLineEdit do Menubar
- 12. QT i niestandardowy element menu (QLineEdit)
- 13. Wykrywanie wejścia na QLineEdit lub QPushButton
- 14. Ustaw QLineEdit, aby akceptować tylko numery
- 15. Przycinanie lub maskowanie obrazu w kręgu
- 16. Nginx URL maskowanie do innej domeny
- 17. maskowanie części wykresu contourf w matplotlib
- 18. Maskowanie CALayera za pomocą innego CALayera
- 19. Konfigurowalne maskowanie danych wrażliwych za pomocą log4net
- 20. Maskowanie 2 UIImages w Retina Quality
- 21. Jak uniemożliwić rysowanie domyślnej niebieskiej ramki na ogniskowaniu QLineEdit
- 22. Jak ograniczyć dane wejściowe użytkownika w QLineEdit w pyqt
- 23. Użyj domyślnego uwierzytelniania i oddzielny maskowanie/personifikacji w DCOM rozmowy
- 24. Android - Maskowanie bitmapy za pomocą innej mapy bitowej
- 25. IOS: Maskowanie obrazu z zachowaniem współczynnika skali siatkówki na koncie
- 26. .htaccess - Maskowanie i przekierowanie do podkatalogu na innym serwerze
- 27. Jak działa maskowanie gałęzi w programie CryENGINE 3?
- 28. Keras Maskowanie dla RNN z różnymi czasami Kroki
- 29. Przekształć maskowanie pakietów, aby zapobiec stopieniu nazw kolumn
- 30. Wyrównanie długości i maskowanie wypełnienia o zmiennej długości