PyQt5: chapter10-显示单击鼠标按钮的点

实例

  1. 创建基于Dialog without Buttons模板窗口
  2. 添加Label部件,其text为Click the mouse where you want to display a dot
  3. 保存为demoDrawDot.ui
  4. 使用pyuic生成demoDrawDot.py
  5. 创建callDrawDot.py
import sys
from PyQt5.QtWidgets import QDialog,QApplication
from PyQt5.QtGui import QPainter,QPen
from PyQt5.QtCore import Qt
from cookbook_200505.demoDrawDot import *

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui=Ui_Dialog()
        self.ui.setupUi(self)
        self.pos1=[0,0]
        self.show()
    def paintEvent(self,event):
        qp=QPainter()
        qp.begin(self)
        pen=QPen(Qt.black,5)
        qp.setPen(pen)
        qp.drawPoint(self.pos1[0],self.pos1[1])
        qp.end()
    def mousePressEvent(self, event):
        if event.buttons()&QtCore.Qt.LeftButton:
            self.pos1[0],self.pos1[1]=event.pos().x(),event.pos().y()
            self.update()
if __name__=="__main__":
    app=QApplication(sys.argv)
    w=MyForm()
    w.show()
    sys.exit(app.exec())

猜你喜欢

转载自blog.csdn.net/weixin_43307431/article/details/105935537
今日推荐