我做了一个桌宠得程序,在配置文件里建了一个数组,里面存了各种猫猫的id
然后我想把他动态地加到菜单里,点击哪个就切换哪个
![](http://tiebapic.baidu.com/forum/w%3D580/sign=35290ce01fafa40f3cc6ced59b66038c/49639045d688d43fc14d2a20381ed21b0cf43bd8.jpg?tbpicau=2024-09-04-05_e18eafbb5373243c04ff045bfe2f54cc)
配置文件 config.ini:
[config]
#宠物id,可以是字母或者汉字,用英文逗号隔开
petids=1,2,cat1
主文件 pet.py:
读取配置
fp_dir=os.getcwd()
print(fp_dir+'\config.ini')
config = configparser.ConfigParser()
config.read(fp_dir+'\config.ini', encoding="utf-8-sig")
petids=config.get("config", "petids").split(',')
添加菜单
for temp in petids:
if temp==petid:
menupick.addAction(QAction(QIcon('./data/icon/collection.png'),temp, self, triggered=lambda:self.pick(temp)))
else:
menupick.addAction(QAction(temp, self, triggered=lambda:self.pick(temp)))
然后结果就是菜单可以正常显示,但是我的所有按钮点了以后,传过去的temp都是数组的最后一个(这里是pet1)
我如何做到每个按钮都传一个不同的元素出去呢?
然后我想把他动态地加到菜单里,点击哪个就切换哪个
![](http://tiebapic.baidu.com/forum/w%3D580/sign=35290ce01fafa40f3cc6ced59b66038c/49639045d688d43fc14d2a20381ed21b0cf43bd8.jpg?tbpicau=2024-09-04-05_e18eafbb5373243c04ff045bfe2f54cc)
配置文件 config.ini:
[config]
#宠物id,可以是字母或者汉字,用英文逗号隔开
petids=1,2,cat1
主文件 pet.py:
读取配置
fp_dir=os.getcwd()
print(fp_dir+'\config.ini')
config = configparser.ConfigParser()
config.read(fp_dir+'\config.ini', encoding="utf-8-sig")
petids=config.get("config", "petids").split(',')
添加菜单
for temp in petids:
if temp==petid:
menupick.addAction(QAction(QIcon('./data/icon/collection.png'),temp, self, triggered=lambda:self.pick(temp)))
else:
menupick.addAction(QAction(temp, self, triggered=lambda:self.pick(temp)))
然后结果就是菜单可以正常显示,但是我的所有按钮点了以后,传过去的temp都是数组的最后一个(这里是pet1)
我如何做到每个按钮都传一个不同的元素出去呢?