PyQt5 从 PyQt4 转换信号代码
- 作者: 公交司机王师傅
- 来源: 51数据库
- 2022-12-19
问题描述
我是新手,很难将一行代码从 PyQT4 更改为 PyQT5,这与信号和插槽.我怀疑它是因为参数正在传递给插槽.
I'm a newbie and am having difficulty changing a line of code from PyQT4 to PyQT5, its to do with signals & slots. I suspect its because arguments are being passed to the slot.
原行是:
self.connect(self.assetView.selectionModel(), SIGNAL(("currentRowChanged(QModelIndex,QModelIndex)")),self.assetChanged)
我试过了:
self.assetView.selectionModel.currentRowChanged(QModelIndex,QModelIndex).connect(self.assetChanged)
我得到:AttributeError: 'builtin_function_or_method' 对象没有属性 'currentRowChanged'
self.assetView 是一个 QTableView 并且 self.assetChanged 有定义:
self.assetView is a QTableView and self.assetChanged has def:
def assetChanged(self, index):
感谢任何帮助
推荐答案
新语法如下:
sender.signal.connect(some_slot)
在你的情况下:
self.assetView.selectionModel().currentRowChanged.connect(self.assetChanged) # ^^^^^^^^^sender^^^^^^^^ ^^^^signal^^^^ ^^^^^^slot^^^^^^
和
def assetChanged(self, current, previous):
print(current, previous)
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
