gpt4 book ai didi

python - 类型错误 : bytes or ASCII string of length 1 expected in QByteArray?

转载 作者:行者123 更新时间:2023-12-05 07:51:31 26 4
gpt4 key购买 nike

我希望这能奏效。但事实并非如此。我做错了什么?

    from  PyQt5.QtCore import  QByteArray

str = 'foobar'
b = bytes(str, 'UTF-8')

print (b)
print (len(b))

arr = QByteArray(len(b), b)

但是我得到:

b'foobar'
6
Traceback (most recent call last):
File "pyqt_wtf_again.py", line 9, in <module>
arr = QByteArray(len(b), b)
TypeError: bytes or ASCII string of length 1 expected

这不应该正常工作吗?

最佳答案

以下是 C++ Qt docs 中的 QByteArray 构造函数

QByteArray(QByteArray &&other)
QByteArray(const QByteArray &other)
QByteArray(qsizetype size, char ch)
QByteArray(const char *data, qsizetype size = -1)

第三个是您正在使用的那个,但它需要一个字符,而不是一个字符串。如果将代码更改为

    from  PyQt5.QtCore import  QByteArray

str = 'f'
b = bytes(str, 'UTF-8')

print (b)
print (len(b))

arr = QByteArray(len(b), b)

没有问题,因为 f 是单个字符。 PyQt 只是 C++ Qt 的接口(interface),所以我认为 docs on QByteArray for python只是缺少显示此构造函数。

关于python - 类型错误 : bytes or ASCII string of length 1 expected in QByteArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com