在PyQt5中,如何将普通的QLineEdit(文本框)转换成一个完美的大写字母QLineEdit框?

问题描述 投票:0回答:1

如何转换我的 QLineEdit进入大写或全部大写的入门级。 ?

(如果我在我的文本框(QLineEdit)中输入字符串,它将自动转换或格式化输入的字符串,按照用户定义的方法。( 大写或大写 ))

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *


class textbox_example(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle(" QLine Edit Example")
        self.setGeometry(50, 50, 1500, 600)

        self.tbx_search = QLineEdit(self)
        self.tbx_search.setGeometry(50, 50, 300, 30)
        self.tbx_search.setPlaceholderText("Enter,Name of the Company")
        self.tbx_search.setFont(QFont("caliber", 10, QFont.Capitalize))

def main():
    myapp = QApplication(sys.argv)
    mywindow = textbox_example()
    mywindow.show()
    sys.exit(myapp.exec_())


if __name__ == "__main__":
    main()

如果我输入一个公司名称为 "google inc",那么它的转换如下 "Google Inc"。

python pyqt pyqt5
1个回答
1
投票

下面的代码对我来说很好。 我也是PyQt5和Python的新手。所以,如果你能让这个更pythonic,请让我知道。

import sys
from PyQt5.QtWidgets import *

class textbox_example(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle(" QLine Edit Example")
        self.setGeometry(50, 50, 1500, 600)

        self.tbx_search = QLineEdit(self)
        self.tbx_search.setGeometry(50, 50, 300, 30)
        self.tbx_search.setPlaceholderText("Enter,Name of the Company")
        self.tbx_search.textChanged.connect(self.auto_capital)

    def auto_capital(self, txt):
        cap_text = txt.title()  
        upp_text = txt.upper()  # All Upper Case
        self.tbx_search.setText(cap_text)

def main():
    myapp = QApplication(sys.argv)
    mywindow = textbox_example()
    mywindow.show()
    sys.exit(myapp.exec_())

if __name__ == "__main__":
    main()
© www.soinside.com 2019 - 2024. All rights reserved.