我是新手,很难将一行代码从 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)
这篇关于PyQt5 从 PyQt4 转换信号代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何将函数绑定到 Qt 菜单栏中的操作?How to bind a function to an Action from Qt menubar?(如何将函数绑定到 Qt 菜单栏中的操作?)
PyQt 启动后进度跃升至 100%PyQt progress jumps to 100% after it starts(PyQt 启动后进度跃升至 100%)
如何将 yaxis 刻度标签设置在固定位置,以便当我How to set yaxis tick label in a fixed position so that when i scroll left or right the yaxis tick label should be visible?(如何将 yaxis 刻度标签设
`QImage` 构造函数有未知关键字 `data``QImage` constructor has unknown keyword `data`(`QImage` 构造函数有未知关键字 `data`)
将 x 轴刻度更改为自定义字符串Change x-axis ticks to custom strings(将 x 轴刻度更改为自定义字符串)
如何在python中将文件保存为excel时显示进度条?How to show progress bar while saving file to excel in python?(如何在python中将文件保存为excel时显示进度条?)