【发布时间】:2018-04-06 19:31:07
【问题描述】:
我正在尝试在主窗口上绘制一个点,但该点未显示。
我尝试将mousePressEvent 绑定到paintEvent,但效果不佳。这是我的代码的当前版本(也不起作用)。我也尝试使用drawPoint 方法放置一个点,但它也不起作用。
import sys
from PyQt5 import QtWidgets, QtGui, QtCore, uic
class GUI(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('gui.ui', self)
self.setFixedSize(self.size())
self.show()
def mousePressEvent(self, e):
print(e.pos())
qp = QtGui.QPainter()
qp.begin(self)
qp.setPen(QtCore.Qt.red)
qp.drawEllipse(e.pos().x(), e.pos().y(), 10, 10)
qp.end()
self.update()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = GUI()
sys.exit(app.exec_())
我知道mousePressEvent 正在工作,因为我得到了点击的坐标。
我可以更改放置点的方法或放置点的类型,但它应该具有可自定义的颜色和大小。
【问题讨论】:
标签: python-3.x qt pyqt5