一、重写QLineEdit提升控件(最好用)
代码中创建了
PasswordLineEdit
的自定义类,该类继承自QLineEdit
。这个自定义类添加了一个QPushButton
,用于切换密码的可见性。
实现步骤:
- 在构造函数中,创建了一个
QPushButton
对象toggleButton
作为切换密码可见性的按钮,并设置了按钮的样式表,使其背景透明且无边框,同时设置了悬停时的背景色。- 设置
QLineEdit
的初始显示模式为密码模式,setEchoMode(QLineEdit::Password)
。- 将按钮放置在
QLineEdit
的右侧。使用QHBoxLayout
布局管理器,将按钮添加到布局中,并设置布局的对齐方式为右对齐。- 设置按钮的光标形状为手型(
Qt::PointingHandCursor
)并添加了悬停提示。- 连接了按钮的点击事件
QPushButton::clicked
到自定义槽函数PasswordLineEdit::togglePasswordVisibility
。在点击按钮时,该槽函数将切换QLineEdit
的密码可见性,并