为单行文本框添加一个控制图标按钮,当点击时切换文本框的4种显示模式;Normal = 0 显示明文;NoEcho = 1 隐藏字符串;Password = 2 显示密文;PasswordEchoOnEdit = 3 输入时显示明文,切换焦点时显示密文;
1.创建窗口框架
1
创建顶层窗口;
2
为顶层窗口添加子控件;
2.单行文本的初始状态
1
设置单行文本占位提示字符串;
2
设置单行文本的初始显示模式;
3
设置单行文本框清空功能;
3.为单行文本添加切换模式;
1
准备四个图标,分别代表显示模式,0,1,2,3;图标自定,放在工作目录;
2
①添加一个行为类QAction,绑定到密码框self.le2;②并实例化,将实例绑定到窗口实例,以便其他实例方法调用。self.action=QAction(self.le2)
3
使用setIcon(QIcon)函数,设置初始图标。因为初始的显示模式是2。这里设置图片显示2的图标。self.action.setIcon(QIcon('2.png'))参数是QIcon类的实例,可直接写上。
4
使用addAction( QAction, QLineEdit.ActionPosition)将图标添加到文本框,可以传递两个参数,①就是自定义的行为对象self.action;②位置,位置仅有前和后两种。 ----QLineEdit.LeadingPosition = 0----QLineEdit TrailingPosition = 1self.le2.addAction(self.action,0)
5
以上是显示了切换模式的初始状态。如果需要改变显示模式,要利用QAction的triggered信号监听文本框的显示模式,用槽函数来实现。先定义槽函数。
6
将行为对象连接信号槽。点击图标,测试能成功监听。
7
在槽函数内进行逻辑判断,改变显示模式。
8
在槽函数内进行逻辑判断,改变图标。
下一篇:怎样强力卸载软件