在focusOutEvent上将大小写更改为大写

大卫·怡

我有一个自定义的QLineEdit编辑器,用于在委托的QTableWidget中输入缩写。我想在使用输入掩码的情况下在离开焦点后强制使用大写字母(例如,不使用self.setInputMask(“> AA”)的情况下)

注意:
-调用时,QLineEdit文本确实变为大写
-失去焦点,新的大写文本不会反映在QLineEdit中

请参阅下面的自定义类:

class InitialsEditor(QLineEdit):
    # The custom editor for editing the Initials

    # a signal to tell the delegate when we have finished editing
    editingFinished = Signal()

    def __init__(self, parent=None):
            # Initialize the editor object
            super(InitialsEditor, self).__init__(parent)
            self.setAutoFillBackground(True)
            rx = QRegExp("[A-Z]{1,2}") # validate A-Z with 2 characters
            rx.setCaseSensitivity(Qt.CaseInsensitive)
            self.setValidator(QRegExpValidator(rx, self)) # limit the input to A-Z
            #self.setMaxLength(2) # limit the max char length
            #self.setInputMask(">AA")

    def focusOutEvent(self, event):
            # Once focus is lost, tell the delegate we're done editing
            self.setText(self.text().upper()) # make the text uppercase
            print(self.text()) # returns the correct self.text() in uppercase...
            self.editingFinished.emit()
大卫·怡

根据此答案找到了替代解决方案该解决方案导致仅输入大写字母,而不考虑区分大小写的输入(fi a或A导致A)。

该解决方案涉及用textEdited事件关闭editFinished事件,并将其与我的Class InitialsEditor的以下新定义相关联:

def updatedText(self):
            self.setText(self.text().upper())
            QApplication.instance().processEvents()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

记事本++将姓氏从大写更改为正确大小写

来自分类Dev

如何通过JavaScript中的正则表达式将camelCase更改为大写字母大小写(或kabob大小写)

来自分类Dev

VBA Excel-将大小写更改为适当的大小写

来自分类Dev

如何在将其余字符串保留为首字母大写的情况下,将缩写序的大小写更改为小写?

来自分类Dev

为什么通过将大小写更改为大写然后再小写来比较同一字符两次?

来自分类Dev

如何更改变量中字符串的大小写(大写和小写)?

来自分类Dev

如何更改字符大小写(从小写到大写,反之亦然)?同时

来自分类Dev

在Sherlock ActionBar选项卡视图中将标题文本大小写更改为小写

来自分类Dev

Word 2016中键入“ iDIN?” 切换大写锁定并更改大小写

来自分类Dev

JavaScript大小写更改将输入的文本更改为其他内容

来自分类Dev

将任何类型的字符串更改为Javascript中的标题大小写

来自分类Dev

使用Web API自定义属性将JSON响应更改为Pascal大小写

来自分类Dev

打字稿浏览对象并将字符串更改为标题大小写?

来自分类Dev

将搜索更改为不区分大小写(对于MonoDevelop 4.0.1)

来自分类Dev

“语法大小写忽略”是否已从vim 7.3更改为vim 7.4?

来自分类Dev

将任何类型的字符串更改为Javascript中的“标题大小写”

来自分类Dev

提交大小写更改被忽略

来自分类Dev

更改JavaScript对象键的大小写

来自分类Dev

禁用Newtonsoft更改JSON大小写

来自分类Dev

更改Kivy中的文本大小写

来自分类Dev

Python标题大小写,但保留预先存在的大写

来自分类Dev

查找大小写重复的文件和rm大写

来自分类Dev

zmv-如果有多个连续的大写字母,请勿更改大小写

来自分类Dev

JsonSerializerSettings更改属性名称的大小写,但不更改属性名称的大小写

来自分类Dev

bbedit-如何将多个字符串更改为标题大小写?

来自分类Dev

我如何解决此问题,以便将整个csv的字体大小写更改为更低?

来自分类Dev

在C ++中将小写字符更改为大写

来自分类Dev

文件扩展名在codeigniter中将大写更改为小写

来自分类Dev

我的文件夹将其小写更改为大写

Related 相关文章

  1. 1

    记事本++将姓氏从大写更改为正确大小写

  2. 2

    如何通过JavaScript中的正则表达式将camelCase更改为大写字母大小写(或kabob大小写)

  3. 3

    VBA Excel-将大小写更改为适当的大小写

  4. 4

    如何在将其余字符串保留为首字母大写的情况下,将缩写序的大小写更改为小写?

  5. 5

    为什么通过将大小写更改为大写然后再小写来比较同一字符两次?

  6. 6

    如何更改变量中字符串的大小写(大写和小写)?

  7. 7

    如何更改字符大小写(从小写到大写,反之亦然)?同时

  8. 8

    在Sherlock ActionBar选项卡视图中将标题文本大小写更改为小写

  9. 9

    Word 2016中键入“ iDIN?” 切换大写锁定并更改大小写

  10. 10

    JavaScript大小写更改将输入的文本更改为其他内容

  11. 11

    将任何类型的字符串更改为Javascript中的标题大小写

  12. 12

    使用Web API自定义属性将JSON响应更改为Pascal大小写

  13. 13

    打字稿浏览对象并将字符串更改为标题大小写?

  14. 14

    将搜索更改为不区分大小写(对于MonoDevelop 4.0.1)

  15. 15

    “语法大小写忽略”是否已从vim 7.3更改为vim 7.4?

  16. 16

    将任何类型的字符串更改为Javascript中的“标题大小写”

  17. 17

    提交大小写更改被忽略

  18. 18

    更改JavaScript对象键的大小写

  19. 19

    禁用Newtonsoft更改JSON大小写

  20. 20

    更改Kivy中的文本大小写

  21. 21

    Python标题大小写,但保留预先存在的大写

  22. 22

    查找大小写重复的文件和rm大写

  23. 23

    zmv-如果有多个连续的大写字母,请勿更改大小写

  24. 24

    JsonSerializerSettings更改属性名称的大小写,但不更改属性名称的大小写

  25. 25

    bbedit-如何将多个字符串更改为标题大小写?

  26. 26

    我如何解决此问题,以便将整个csv的字体大小写更改为更低?

  27. 27

    在C ++中将小写字符更改为大写

  28. 28

    文件扩展名在codeigniter中将大写更改为小写

  29. 29

    我的文件夹将其小写更改为大写

热门标签

归档