Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > QLineEdit设置不可编辑和默认文本
python教程

QLineEdit设置不可编辑和默认文本

发布博客:2022年12月2日 07:22
阅读:478
作者:Python GUI编程网

QLineEdit还可以对文本进行不可编辑和默认文本的设置,在项目中也是有这样的需求的,比如默认文本设置可以帮助部分软件用户省略一些输入操作。不可编辑一般是指只读设置,为了不让用户修改其内容,个人觉得这个功能还是有点鸡肋。下面就简单演示一下。

QLineEdit还可以对文本进行不可编辑和默认文本的设置,在项目中也是有这样的需求的,比如默认文本设置可以帮助部分软件用户省略一些输入操作。不可编辑一般是指只读设置,为了不让用户修改其内容,个人觉得这个功能还是有点鸡肋。下面就简单演示一下。

1. QLineEdit设置不可编辑/只读设置

from PyQt5.Qt import *
 import sys
 
 
 class Window(QWidget):
     def __init__(self):
         super().__init__()
         self.setWindowTitle("QLineEdit设置光标位置控制 - PyQt5中文网")
         self.resize(600, 500)
         self.func_list()
 
     def func_list(self):
         self.func()
 
     def func(self):
         led = QLineEdit('QLineEdit设置光标位置控制', self)
         led.resize(150, 45)
         led.move(100, 100)
         led.setReadOnly(True)  # 只读设置
 
 
 if __name__ == '__main__':
     app = QApplication(sys.argv)
     window = Window()
 
     window.show()
     sys.exit(app.exec_())

QLineEdit

通过上面的结果可以看出来,单行文本框中的内容只能选中、复制,但是不能进行编辑。

2. QLineEdit设置默认文本

QLineEdit设置默认文本使用方法setPlaceholderText(),一般不和setText()同时出现,可以通过方法placeholderText()获取默认文本,类似于text()。

from PyQt5.Qt import *
 import sys
 
 
 class Window(QWidget):
     def __init__(self):
         super().__init__()
         self.setWindowTitle("QLineEdit设置光标位置控制 - PyQt5中文网")
         self.resize(600, 500)
         self.func_list()
 
     def func_list(self):
         self.func()
 
     def func(self):
         led = QLineEdit(self)
         led.resize(150, 45)
         led.move(100, 100)
         # led.setReadOnly(True)  # 只读设置
         led.setPlaceholderText('QLineEdit设置光标位置控制')
         print(led.placeholderText())
 
 
 if __name__ == '__main__':
     app = QApplication(sys.argv)
     window = Window()
 
     window.show()
     sys.exit(app.exec_())