PyQt4中的Q_ENUMS

5 投票
1 回答
923 浏览
提问于 2025-04-17 04:17

我想使用Qt中的枚举功能。我在QtCore模块的文档中看到有一个叫Q_ENUMS的宏,但我不知道该怎么用它。

1 个回答

5

在Python(和PyQt)中,创建一个枚举类型的方法是这样的:

class MyEnum(object):
    One = 1
    Two = 2
    Three = 3

如果你需要更多的功能,请告诉我你具体想做什么。

编辑

查看了关于 QAbstractSocket.stateChanged 的文档,我发现它提到了“创建自定义Qt类型”。我不知道在PyQt4中是否需要注册元类型,所以你只需要将这个信号连接到合适的处理函数就可以了:

class Socket(QTcpSocket):
    def __init__(self):
        QTcpSocket.__init__(self)
        self.stateChanged.connect(self.handleStateChanged)

    def handleStateChanged(self, state):
        print state

撰写回答