为什么 PyQt5 QPixmap 会崩溃 python?
Why does PyQt5 QPixmap crash python?
当我尝试将此字符串列表转换为像素图时,它崩溃了 python。
有什么解决这个问题的建议吗?
openIcon = [
'16 13 5 1',
'. c #040404',
'# c #808304',
'a c None',
'b c #f3f704',
'c c #f3f7f3',
'aaaaaaaaa...aaaa',
'aaaaaaaa.aaa.a.a',
'aaaaaaaaaaaaa..a',
'a...aaaaaaaa...a',
'.bcb.......aaaaa',
'.cbcbcbcbc.aaaaa',
'.bcbcbcbcb.aaaaa',
'.cbcb...........',
'.bcb.#########.a',
'.cb.#########.aa',
'.b.#########.aaa',
'..#########.aaaa',
'...........aaaaa'
]
if __name__ == "__main__":
from PyQt5.QtGui import QPixmap
openIcon_p = QPixmap(openIcon)
openIcon_p.save("openIcon.png")
使用:
Python 3.7.4(tags/v3.7.4:e09359112e,2019 年 7 月 8 日,20:34:20)Win32 上的 [MSC v.1916 64 位 (AMD64)]
PyQt5==5.13.0
运行 从控制台查看错误信息的代码。
在 QPixmap
:
之前你需要一个 QApplication
from PyQt5 import QtWidgets, QtGui
import sys
openIcon = [
'16 13 5 1',
'. c #040404',
'# c #808304',
'a c None',
'b c #f3f704',
'c c #f3f7f3',
'aaaaaaaaa...aaaa',
'aaaaaaaa.aaa.a.a',
'aaaaaaaaaaaaa..a',
'a...aaaaaaaa...a',
'.bcb.......aaaaa',
'.cbcbcbcbc.aaaaa',
'.bcbcbcbcb.aaaaa',
'.cbcb...........',
'.bcb.#########.a',
'.cb.#########.aa',
'.b.#########.aaa',
'..#########.aaaa',
'...........aaaaa'
]
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
openIcon_p = QtGui.QPixmap(openIcon)
openIcon_p.save("openIcon.png")
编辑:如果没有添加行,代码会给出以下错误消息:
QPixmap::fromImageInPlace: QPixmap cannot be created without a QGuiApplication
QPixmap: Must construct a QGuiApplication before a QPixmap
有关解释,请参阅 Qt-Documentation。还有一个描述何时使用 QtWidgets.QApplication
以及何时使用 QtGui.QGuiApplication
正如 eyllanesc
评论的那样
当我尝试将此字符串列表转换为像素图时,它崩溃了 python。 有什么解决这个问题的建议吗?
openIcon = [
'16 13 5 1',
'. c #040404',
'# c #808304',
'a c None',
'b c #f3f704',
'c c #f3f7f3',
'aaaaaaaaa...aaaa',
'aaaaaaaa.aaa.a.a',
'aaaaaaaaaaaaa..a',
'a...aaaaaaaa...a',
'.bcb.......aaaaa',
'.cbcbcbcbc.aaaaa',
'.bcbcbcbcb.aaaaa',
'.cbcb...........',
'.bcb.#########.a',
'.cb.#########.aa',
'.b.#########.aaa',
'..#########.aaaa',
'...........aaaaa'
]
if __name__ == "__main__":
from PyQt5.QtGui import QPixmap
openIcon_p = QPixmap(openIcon)
openIcon_p.save("openIcon.png")
使用:
Python 3.7.4(tags/v3.7.4:e09359112e,2019 年 7 月 8 日,20:34:20)Win32 上的 [MSC v.1916 64 位 (AMD64)]
PyQt5==5.13.0
运行 从控制台查看错误信息的代码。
在 QPixmap
:
QApplication
from PyQt5 import QtWidgets, QtGui
import sys
openIcon = [
'16 13 5 1',
'. c #040404',
'# c #808304',
'a c None',
'b c #f3f704',
'c c #f3f7f3',
'aaaaaaaaa...aaaa',
'aaaaaaaa.aaa.a.a',
'aaaaaaaaaaaaa..a',
'a...aaaaaaaa...a',
'.bcb.......aaaaa',
'.cbcbcbcbc.aaaaa',
'.bcbcbcbcb.aaaaa',
'.cbcb...........',
'.bcb.#########.a',
'.cb.#########.aa',
'.b.#########.aaa',
'..#########.aaaa',
'...........aaaaa'
]
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
openIcon_p = QtGui.QPixmap(openIcon)
openIcon_p.save("openIcon.png")
编辑:如果没有添加行,代码会给出以下错误消息:
QPixmap::fromImageInPlace: QPixmap cannot be created without a QGuiApplication
QPixmap: Must construct a QGuiApplication before a QPixmap
有关解释,请参阅 Qt-Documentation。还有一个描述何时使用 QtWidgets.QApplication
以及何时使用 QtGui.QGuiApplication
正如 eyllanesc