J'utilise pyqt4 code>
qlineDit code> widget pour accepter le mot de passe. Il existe une propriété
setmasking code>, mais ne suivant pas comment définir le caractère de masquage. P>
5 Réponses :
Il n'y a pas de Pour obtenir le contrôle pour masquer ce qui est saisi, utilisez le < Code> Setechomode () Code> Méthode, qui (devrait) afficher le caractère de protection par mot de passe standard pour la plate-forme. D'après ce que je peux voir de la documentation, si vous souhaitez afficher un caractère personnalisé, vous devrez dériver une nouvelle classe. En général, cependant, c'est une mauvaise idée, car il va à l'encontre de ce que les utilisateurs attendent voir. P> Setmasking code> Propriété pour
QLineDIT code> dans pyqt4 ou qt4. Parlez-vous de
SetInputmask () code>? Si vous êtes, cela ne fait pas ce que vous semblez penser que cela fait. Il définit le masque contre lequel valider l'entrée. p>
C'est assez facile en utilisant QT: vous auriez besoin de définir un nouveau style et de retourner un nouveau caractère à partir de la méthode Stylehint chaque fois que Qstyle: SH_LineDit_PasswordSharacter Constant est interrogé. Ci-dessous est un exemple:
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()));
Comme Docs disent http: // Doc-Snapshot .qt-project.org / 4.8 / stylesheet-exemples.html # Personnalisation-QLineDit :
Le caractère de mot de passe des modifications de ligne qui ont QLineDitIt :: Mot de passe Mode Echo peut être défini à l'aide de: p> blockQuote>
xxx pré> p>
editor = QLineEdit() editor.setEchoMode(QLineEdit.Password)
Sélectionnez la ligne Modifier la ligne et dans la fenêtre Editor em>, il y aura une propriété Dans ce cas, la réponse de la Terre EM> fonctionnera qui est: p> echomode code> que vous pouvez définir sur
mot de passe code>. p>
Utilisation du code Python h3>
myLineEdit.setEchoMode(QLineEdit.Password)