多语言展示
当前在线:380今日阅读:113今日分享:31

PyQt5-如何为单行文本框添加改变显示模式行为

为单行文本框添加一个控制图标按钮,当点击时切换文本框的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

在槽函数内进行逻辑判断,改变图标。

推荐信息