在 PyQt5 中,如何将普通的 QLineEdit(文本框)转换为完美的大写/大写 QLineEdit 框?
问题描述
如何在入门级将我的 QLineEdit 转换为大写或全部大写?
How to convert My QLineEdit into a Capitalize or all upper Case at Entry Level ?
(如果我在我的文本框(QLineEdit)中输入字符串,它会根据用户定义的方法自动将输入字符串转换或格式化.(大写或大写))
( If I enter string into my text box (QLineEdit), automatically its converts or format the input string to, as per user defined method. ( Capitalize or Upper Case ))
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".
If I enter a name of the company as "google inc" then its converts as follows " Google Inc" .
解决方案
以下代码对我来说很好.我也是 PyQt5 和 Python 的新手.所以如果你能让这个更pythonic,请告诉我
The following code works to me fine. I am also new to PyQt5 and Python. so if you can make this more pythonic please let me know
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()
相关文章