我在 Linux 上,想尝试为我的 Web 开发重新创建 Nattyware 的 Pixie 工具。gPick 还可以,但 Pixie 更好。
我希望能够检测并显示鼠标指针周围的区域。我一直在尝试找到一种方法来显示鼠标指针周围的区域,并用 Python 放大。
我不知道从哪里开始这样的事情。我不想保存任何图像,只是显示鼠标在窗口中的放大区域。
编辑:我得到了一些可能有效的东西。不要运行它,它会崩溃!
import sys, evdev
from Xlib import display, X
from PyQt4 import QtGui
from PyQt4.QtGui import QPixmap, QApplication, QColor
class printImage():
def __init__(self):
self.window = QtGui.QMainWindow()
self.window.setGeometry(0,0,400,200)
self.winId = QApplication.desktop().winId()
self.width = 150
self.height = 150
self.label = QtGui.QLabel('Hi')
self.label.setGeometry(10, 10, 400, 100)
self.label.show()
def drawView(self, x, y):
self.label.setText('abc')
pix = self.getScreenArea(x, y)
self.pic.setPixmap(pix)
def render(self):
self.window.show()
def getScreenArea(self, areaX, areaY):
image = QPixmap.grabWindow(
self.winId,
x = areaX,
y = areaY,
width = self.width,
height = self.height
)
return image
if __name__ == '__main__':
app = QApplication(sys.argv)
view = printImage()
view.render()
display = display.Display(':0')
root = display.screen().root
root.grab_pointer(
True,
X.PointerMotionMask | X.ButtonReleaseMask,
X.GrabModeAsync,
X.GrabModeAsync,
0, 0,
X.CurrentTime
)
while True:
ev = display.next_event()
view.drawView(ev.event_x, ev.event_y)
app.exec_()
知道为什么它会自我毁灭吗?它在grabWindow() 函数上崩溃.. 还有什么我可以使用的吗?