用python3 返回鼠标位置的实现方法(带界面)

yipeiwu_com6年前Python基础

点击获取后,返回2s后的鼠标位置,显示在文本框

(需要用pip命令安装所需的的库)

(pip install 模块名

比如 安装pyautogui 模块

在cmd里面输入: pip install pyautogui)

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import time
import pyautogui as pag
import tkinter


def get():
  po.delete(0,tkinter.END)
	time.sleep(2) #几秒后返回位置
  x , y = pag.position()
  po.insert(0,str(x)+','+str(y))

root = tkinter.Tk()
tip = tkinter.Label(root,text="返回点击获取2s后的光标位置")
tip.grid(row=0)
po = tkinter.Entry(root)
po.grid(row=1)
do = tkinter.Button(root,text="获取",command=get) #点击获取位置
do.grid(row=2)


root.mainloop()

闲得无聊把时间调成可改了,但是其中一个if莫名其妙运行不了,求大神解释QAQ

由于布局问题,若要调整窗口位置,请拖动左上角

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import time
import pyautogui as pag
import tkinter

mytime = 2

#判断时间是否合法
def safe():			
	text = getmytime.get();
	#小数点个数
	point = 0
	if(text==""):
		return False
	for i in text:
		if(i>='0' and i<='9'and point<2):
			continue
		elif(i=='.'):
			point = point + 1
		else:
			return False
	return True
def get():
	global mytime
	if(safe()):
		mytime = float(getmytime.get())
		
		#不知道为何下面的这个if没用
		if(mytime>7.0):
			showpos.delete(0,tkinter.END)
			showpos.insert(0,"请耐心等候")
	
		time.sleep(mytime) #几秒后返回位置
		x , y = pag.position()
		showpos.delete(0,tkinter.END)
		showpos.insert(0,str(x)+','+str(y))
	else:
		showpos.delete(0,tkinter.END)
		showpos.insert(0,"输入非法哟~")

 
root = tkinter.Tk()
root.resizable(0,0)

tip1 = tkinter.Label(root,text="点击按钮获取")
tip1.place(relx=0.1,rely=0.1)
getmytime = tkinter.Entry(root,width=3)
getmytime.place(relx=0.6,rely=0.1)
getmytime.insert(0,str(mytime))
tip2 = tkinter.Label(root,text="s后的")
tip2.place(relx=0.8,rely=0.1)

tip3 = tkinter.Label(root,text="光标位置:")
tip3.place(relx=0.1,rely=0.3)
showpos = tkinter.Entry(root,width=10)
showpos.place(relx=0.5,rely=0.3)
do = tkinter.Button(root,text="按钮",command=get) #点击获取位置
do.place(relx=0.8,rely=0.6)


root.mainloop()

以上这篇用python3 返回鼠标位置的实现方法(带界面)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现K近邻回归,采用等权重和不等权重的方法

如下所示: from sklearn.datasets import load_boston boston = load_boston() from sklearn.cros...

解决pyqt5中QToolButton无法使用的问题

当你使用pyqt中的QToolButton的时候,如果想实现按下和抬起分别实现不同的功能,必须要加上这句话: self.btn_1.setCheckable(True) 设置一个t...

Python实现Mysql数据库连接池实例详解

Python实现Mysql数据库连接池实例详解

python连接Mysql数据库: Python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接MySQL数据库请求时,都是独立的去请求访问,相当...

Python面向对象编程中关于类和方法的学习笔记

类和实例 python是一个面向对象的语言,而面向对象最重要的概念就是类和实例, 记得刚学习的时候不太理解这些概念,直到老师说了一句”物以类聚”. 没错就是类, 归类 物以类聚 类其实就...

彻底理解Python list切片原理

关于list的insert函数 list#insert(ind,value)在ind元素前面插入value 首先对ind进行预处理:如果ind<0,则ind+=len(a),这样...