gpt4 book ai didi

python - 跟踪屏幕上的鼠标移动(形状) - Python

转载 作者:行者123 更新时间:2023-12-01 07:42:37 25 4
gpt4 key购买 nike

我试图在按下右键时跟踪鼠标在屏幕上的移动,并将移动保存为 2D 形状(.dwg 或其他)到新文件中。解决这个问题的最佳方法是什么?

我已经研究了 PyMouse 并简要研究了 PyGame,但到目前为止。但是,因为我对编码的理解仍然有限,所以我不明白如何实际使用它们并创建一个正在运行的应用程序。

我已经尝试了这些简单的示例来了解 PyMouse ( https://github.com/pepijndevos/PyMouse/wiki/Documentation ) 的基本功能,但不知道如何从这里开始跟踪用户鼠标移动。

如果有任何建议,我将不胜感激!

最佳答案

对于鼠标跟踪事件,可以使用if event.type == pygame.MOUSEBUTTONDOWN:语句。

完整代码如下:

import pygame,sys,numpy
pygame.init()
display = (1500, 900)
screen = pygame.display.set_mode(display)
pygame.display.set_caption("Shape")

draw = False
size = (15,15)
run = True
shape = []

while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
run = False
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 3: #Detect right-click; left-click is 1
draw = True
if event.type == pygame.MOUSEBUTTONUP and event.button == 3: #Detect release right-click
draw = False
#Here to save the file of 2d shape
shape = []



screen.fill((0,0,0))
#Draw the shape
if draw == True:
shape.append(pygame.mouse.get_pos())
for i in shape:
screen.fill((255,255,255), (i, size))

pygame.display.flip()

pygame.quit()
sys.exit()

我认为有一种方法可以将列表保存为二维文件。查看https://gis.stackexchange.com/questions/52705/how-to-write-shapely-geometries-to-shapefiles它可能对你有帮助。只需在#Here to save the file of 2d shape注释后添加保存文件过程即可。

我将致力于保存文件部分,但这是我目前能得到的最好的。

关于python - 跟踪屏幕上的鼠标移动(形状) - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56618016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com