关于macos:QAbstractItemModel子类中发出dataChanged信号的PySide错误 | 珊瑚贝

PySide Error emitting dataChanged signal in QAbstractItemModel subclass


我在尝试发出 dataChanged 信号时遇到此错误:

1
2
self.dataChanged.emit(index, index)
TypeError: Value types used on meta functions (including signals) need to be registered on meta type: QModelIndex

这是我的 QAbstractItemModel 子类的相关部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class PropertyItemModel(QtCore.QAbstractItemModel):
    def __init__(self, parent=None):
        super(PropertyItemModel, self).__init__(parent)

    def setData(self, index, value, role=Qt.EditRole):
        if role != Qt.EditRole:
            return False

        item = self.getItem(index)
        result = item.setData(index.column(), value)

        if result:
            self.dataChanged.emit(index, index)

            # Doesn’t work either (same error):
            # self.emit(QtCore.SIGNAL(“dataChanged(QModelIndex, QModelIndex)”), index, index)
            # QtCore.QObject.emit(self, QtCore.SIGNAL(“dataChanged(const QModelIndex&, const QModelIndex&)”), index, index)

        return result

我在 Mac OS X (10.10) 上使用 PySide 1.2.1 版和 Qt 4.8.5。
该错误可能与我的特定环境有关。此代码在另一台 Mac 上运行。


确实,这是由安装冲突引起的。我有不同风格的python(系统,brew,来自官方网站的包)。

使用自制软件全新安装解决了这个问题。


来源:https://www.codenong.com/31967924/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8897.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?