我想用pyqt5来修改我的文档。
在界面中输入一些信息(例如,IP ......等)
然后使用这些变量替换信息的原始示例
但输入值未出现在文件
上文件显示'无'
如果设置
echo "ssssse text" | grep --color 's*e\b'
文件显示''
这是我的代码
ip = self.lineEdit_ip.text()
如何修改我的代码?
*更新(04/06) @ kamik423结果就像是图像。不是'6.6.6.6'。
答案 0 :(得分:1)
我们可以使用editingFinished
信号,这是在放置文字并按Enter
或Return
后执行,也就是说,放置所需的文字,然后按Enter
或Return
。
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle('SetezPlan')
self.SetIP()
self.lineEdit_ip.editingFinished.connect(self.SetIP)
def SetIP(self, event):
ip = str(self.lineEdit_ip.text())
with open(os.path.join(ezPath,'Server.txt'),'r+') as f:
flist=f.readlines()
flist[0]= ip
f.writelines(flist)
f.close()
答案 1 :(得分:0)
解决方案(未经测试,因为我没有剩下的程序)
每次在SetIP
内输入或删除符号时,都会调用lineEdit
。它打开文件,写入第一行并再次保存。现在按钮是不必要的(据我所知)
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle('SetezPlan')
self.lineEdit_ip.textChanged.connect(self.SetIP)
def SetIP(self, event):
ip = str(self.lineEdit_ip.text())
with open(os.path.join(ezPath,'Server.txt'),'r+') as f:
flist=f.readlines()
flist[0]= ip
f.writelines(flist)
f.close()