python+PyQT5 文本框/列表类设置大小写

PyQt5 QTextEdit / QLineEdit / QSpinBox / QComboBox – 设置文本大小写

PyQt5是Python绑定的Qt库,提供了各种GUI组件。QTextEdit / QLineEdit / QComboBox是其中的一个,它提供了一个简单的输入框,但是默认情况下它不会使输入的字符都大写。本文将介绍如何使用PyQt5 QTextEdit / QLineEdit / QSpinBox / QComboBox实现使文本大写.

实现很简单,有两种方法操作(一种在不改变内容的情况下显示大写,另一种直接将内容转换为大写)。

1. 设置QSS样式,在控件中显示为大写,但实际内容在输入时是小写,在读取内容时显示的依然是小写(即内容不变,但控件显示内容为大写字符)。


self.lineEdit = QLineEdit(self)
self.lineEdit.setStyleSheet('text-transform: uppercase;')

/*这里通过setStyleSheet()方法可为QTextEdit / QLineEdit / QSpinBox / QComboBox任意一个对象设置了一个CSS样式,text-transform属性将输入的文本全部转换为大写。*/

text-transform属性定义及使用说明

描述
none默认。定义带有小写字母和大写字母的标准的文本。
capitalize文本中的每个单词以大写字母开头。
uppercase定义仅有大写字母。
lowercase定义无大写字母,仅有小写字母。
inherit规定应该从父元素继承 text-transform 属性的值。

2. 通过文本框信号槽直接将内容转化为大写(所见即所得)

在文本框中输入任意内容时,该内容会自动转换为大写形式。与QSS的转换方式不同,QSS只是以控件方式显示,而以下方法却是直接将内容转换为大写。

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        ...
        self.lineEdit = QLineEdit(self)
        self.lineEdit.textChanged.connect(self.onTextChanged)

    def onTextChanged(self, text):
        self.lineEdit.setText(text.upper())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值