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

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日