QLineEdit设置不可编辑和默认文本
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_())
通过上面的结果可以看出来,单行文本框中的内容只能选中、复制,但是不能进行编辑。
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_())