我是一名编码和Python的初学者。我了解到如果你想开发一个稍微复杂一些的应用程序,tkinter有点“基础”,而PyQt在许可方面存在问题。这就是为什么我选择使用PySide2来开发这种类型的项目,但我发现文档相对较少。这是正确的选择吗?
我的目前编码问题是:我尝试使用PySide2加载图像,但没有成功。以下是我两次尝试的代码: 尝试1:
我收到了以下信息:
我的目前编码问题是:我尝试使用PySide2加载图像,但没有成功。以下是我两次尝试的代码: 尝试1:
import sys
import PySide2
from PySide2.QtWidgets import QApplication, QLabel
app = QApplication(sys.argv)
img = PySide2.QtGui.QImage("/Users/mymac/Downloads/ecg_measure.png")
pixmap=PySide2.QtGui.QPixmap(img)
label = PySide2.QtWidgets.QLabel.setPixmap(pixmap)
label.show()
app.exec_()
我收到了以下信息:
Traceback (most recent call last):
File "<ipython-input-1-86961df4959d>", line 8, in <module>
label = PySide2.QtWidgets.QLabel.setPixmap(pixmap)
TypeError: descriptor 'setPixmap' requires a 'PySide2.QtWidgets.QLabel' object but received a 'PySide2.QtGui.QPixmap'
根据Traceback信息,我尝试了下面的第二次尝试:
import sys
import PySide2
from PySide2.QtWidgets import QApplication, QLabel
app = QApplication(sys.argv)
img = PySide2.QtGui.QImage("/Users/mymac/Downloads/ecg_measure.png")
pixmap=PySide2.QtGui.QPixmap(img)
lab=PySide2.QtWidgets.QLabel(pixmap)
PySide2.QtWidgets.QLabel.setPixmap(lab)
app.exec_()
I get the following errror message:
Traceback (most recent call last):
File "<ipython-input-1-61b41e4b2f63>", line 8, in <module>
lab=PySide2.QtWidgets.QLabel(pixmap)
TypeError: 'PySide2.QtWidgets.QLabel' called with wrong argument types:
PySide2.QtWidgets.QLabel(PySide2.QtGui.QPixmap) Supported signatures:
PySide2.QtWidgets.QLabel(PySide2.QtWidgets.QWidget = None,
PySide2.QtCore.Qt.WindowFlags = Qt.WindowFlags())
PySide2.QtWidgets.QLabel(unicode, PySide2.QtWidgets.QWidget = None, PySide2.QtCore.Qt.WindowFlags = Qt.WindowFlags())
Qlabel
中加载了一张图像,但是在将Qlabel
与主窗口集成时遇到了困难。我将阅读这些资源!再次感谢。 - ecjbmousePressEvent
方法),我得到的坐标好像图像没有被放大或者说缩放只对图像而不是鼠标事件生效?你在运行应用程序时遇到过这种情况吗?如果你想让我问另一个问题,我可以。如果你没有时间,我完全理解。 - ecjbself.photoClicked.emit(QtCore.QPoint(event.pos()))
更改为self.photoClicked.emit(QtWidgets.QGraphicsView.mapToScene(QtCore.QPoint(event.pos())))
,但是我得到了TypeError: descriptor 'mapToScene' requires a 'PySide2.QtWidgets.QGraphicsView' object but received a 'PySide2.QtCore.QPoint'
。你有什么想法可以指导我吗?(如果需要,我可以提出新问题) - ecjb