pyside实现鼠标点击,指针指向鼠标点击位置的代码
时间: 2023-08-29 09:05:34 浏览: 238
模拟鼠标点击的源代码
4星 · 用户满意度95%
这里是一个PyQt5的示例代码,可以实现当鼠标点击时,指针会跟随鼠标点击位置移动:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QCursor, QColor, QPen
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(200, 200, 400, 300)
self.setWindowTitle('Mouse Click')
def paintEvent(self, event):
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing)
pen = QPen(QColor(255, 0, 0), 2, Qt.SolidLine)
painter.setPen(pen)
painter.drawLine(self.width()//2, self.height()//2, QCursor.pos().x(), QCursor.pos().y())
def mousePressEvent(self, event):
self.update()
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
在这个示例中,我们首先定义了一个QWidget窗口类(MyWidget),该类继承了QWidget类。在initUI方法中,我们设置了窗口的大小和标题。
在paintEvent方法中,我们使用QPainter来绘制一条红色直线,这条直线将连接窗口中心和鼠标点击位置。QCursor.pos()返回当前鼠标光标的位置。我们使用鼠标点击事件来触发窗口的更新,以便在鼠标点击时重新绘制直线。
最后,在main函数中,我们创建了一个MyWidget窗口对象,并显示它。当应用程序退出时,我们使用sys.exit(app.exec_())来确保程序正常退出。
阅读全文