pyqt5下pushButton框保留用户历史输入

介绍:如何像使用浏览器一样保存用户之前的输入,使得用户可以保留之前的操作,避免每次进入界面后每次都需要重新输入的繁杂操作。

效果展示:
在这里插入图片描述

这里提供一个设计思路,将qt框接收到的用户输入用一个列表接收,每次软件使用结束后将该列表写入文件进行存储,下次用户再次打开软件界面时,重新调用文件。

主要包含以下几个核心代码
1.按钮的设置根据自己的需求自己按照pyqt进行正常设置。

2.对需要连接的按钮进行信号连接:

self.pushButton3.clicked.connect(self._open_ip)

3.连接信号的具体实现功能代码:

    def _open_ip(self):
    	#以每行读取并按每行为列表的一个元素传入ip列表
        with open('ip_file.txt', 'r') as f:
            ip_list = [line.rstrip('\n') for line in f]
            #上面的ip_list可以做一个反序操作,这样的话qt列表就会按照用户的输入的时间进行排列(我没用改)
            #每次读取文件中的后5个ip(最新的5个,可自己设置读取个数)
            self.ip_list = ip_list[-5:]  
            #print("self.ip_list",self.ip_list)
        #下面代码中current=4为每次在框中显示ip列表的第五个元素(自己设置,我这里是用户最新的)
        self.ip, _ = QInputDialog.getItem(self, '输入IP', 'IP地址',self.ip_list, current = 4)
        if self.ip_list:
        	#避免重复的ip一直存储
            if self.ip in self.ip_list:
                pass
            else:
                ip_list.append(self.ip)
        else:
            ip_list.append(self.ip)
        f=open('ip_file.txt','w')
        for line in ip_list:
            f.write(line+'\n')
        f.close()

注:用户的所有的历史输入都会存在ip_file.txt文件中。当前文件夹下包含的ip_file.txt文件如下图。
在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小屋*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值