我想覆盖/更改用于密码输入的对话框的“取消”按钮的文本。
我尝试了以下方法,但是新文本在getText
期间没有显示。日志显示新文本保存在内部
有人知道我做错了什么吗
提前谢谢
caption_cancel = 'Cancel and go to previous mode'
input_password_dialog = QtWidgets.QInputDialog(self)
input_password_dialog.setInputMode(QtWidgets.QInputDialog.TextInput)
input_password_dialog.setOption(QtWidgets.QInputDialog.UsePlainTextEditForTextInput)
logging.debug('cancelButtonText = ' + input_password_dialog.cancelButtonText()) # 'Cancel'
input_password_dialog.setCancelButtonText(caption_cancel)
logging.debug('cancelButtonText = ' + input_password_dialog.cancelButtonText()) # 'Cancel and go to previous mode'
password, ok = input_password_dialog.getText(self, 'Authentification', 'Password',
echo=QtWidgets.QLineEdit.Password) # just shows 'Cancel"
您有两个错误:
QInputDialog::getText()
是一个静态方法,因此它不会使用input_password_dialog
对象,因此您必须直接将诸如标题、标签等属性设置为input_password_dialog
对象,或者尝试应用hack来获得在静态方法中创建的QInputDialog如果设置了
QInputDialog.TextInput
和QInputDialog.UsePlainTextEditForTextInput
,则不会显示点,而是显示文本作为密码条目考虑到上述情况,解决方案是:
相关问题 更多 >
编程相关推荐