wjf598 2022-01-27 09:54 采纳率: 100%
浏览 48
已结题

PYQT5怎样使用数据库中的数据自动生成菜单

想用PyQt5网页收藏夹,读取数据库后自动生成动态菜单。
遇到的问题是,把数据写入后菜单生成正确,但发送的信号只能打开最后一个记录中的网页。

        
        action=[]
        i=0

        for row in self.db_fav: # 遍历数据 row[0]为网页标题,row[1]为链接
            w=row[0]
            if len(title)>30:
                title=title[0:30]+'..'
            url=row[1]

            action.append(QAction(QIcon(':/res/Resource/weball.png'), title,parent=menu))
            menu.addAction(action[i])
            action[i].triggered.connect(lambda: self.NewPage(url))
            print(url)

            i=i+1

print(url)显示的各链接是正确的,但生成的菜单项不管选择哪一个只能打开同一个网页。

难道在循环体中为菜单项设置触发事件指向一个函数是不可行的?还有没有办法实现这样的操作???

望前辈指点/、

  • 写回答

3条回答 默认 最新

查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 已采纳回答 1月27日
  • 创建了问题 1月27日

悬赏问题

  • ¥20 找驱动QTR2774-SU-IBM版本驱动
  • ¥15 NeRF的代码复现以及人工智能入门
  • ¥15 centos如何做一个可以让ikuai连接的openvpn
  • ¥15 Protege 中的Entities下面的界面删除了如何复原
  • ¥15 scrapy爬虫求帮
  • ¥15 imageEnView绘图问题
  • ¥15 关于#python#的问题:您好可以加您一下联系方式吗,在复现的时候确实有点问题难以解决
  • ¥15 联想电脑重装系统时无法发现硬盘
  • ¥15 MATLAB与UR10e实体机械臂建立通讯
  • ¥15 c++题需要快一点不用opencv