为保持界面相关的内容关闭再打开,保留原有状态。配置了ini文件,但是配置后只能在打开时读取一次,若是打开时改变一些东西不能按照新的信号进行变化,就出现了以下情况,界面变成英文,但是 提示还是中文
配置了ini
try:
self.txt = open("language.ini", 'r')
self.l = self.txt.read()
self.txt.close()
except Exception as err:
txt = open("language.ini", 'w')
txt.write("0")
txt.flush()
txt.close()
self.l = "0"
pass
```python
#语言选择
if self.l=="Chinese":
self.ui.action1.trigger()
if self.l=="English":
self.ui.action2.trigger()
#语言初始化
if self.l == "0":
self.ui.action1.trigger()
点击打开串口后 若被占用出现的情况
```python
def slot_pushButton_Com_flage(self, sate):
print('串口打开状态', sate)
if sate == 0:
if self.l=="Chinese":
qw.QMessageBox.warning(self, '错误信息', '串口已占用,打开失败')
if self.l=="0":
qw.QMessageBox.warning(self, '错误信息', '串口已占用,打开失败')
elif self.l=="English":
qw.QMessageBox.warning(self, 'error message', 'The serial port is in use')
能随时读取ini内的字符吗?
还是用点击按钮产生信号发生self.l的改变?
这要看你代码是怎么写的
没太明白,你所说的保留原有状态是仅指语言状态还是还包括其它设置,你的问题看起来像是异常退出设置没有写入到配置文件中的问题,但是没完全理解你的意思,不是太确定
可以参考一下这个代码来读取串口
import serial
import serial.tools.list_ports
plist = list(serial.tools.list_ports.comports())
if len(plist) <= 0:
print ("The Serial port can't find!")
else:
plist_0 =list(plist[0])
serialName = plist_0[0]
serialFd = serial.Serial(serialName,9600,timeout = 60)
print ("check which port was really used >",serialFd.name)