python qt designer鼠标跟踪光标位置

时间:2016-05-06 23:21:20

标签: python qt pyqt4 designer

我正在为触摸屏制作GUI

当鼠标光标位于按钮上时,此GUI中的按钮应生成信号

但qt设计师没有那种信号(我已尝试发布,点击,按下)

因此,我认为不断跟踪光标位置可以是一个解决方案

但是,我不知道如何在qt designer和pyuic生成的代码中实现鼠标跟踪(例如mousemoveEvent)

如果我使用其他示例中的鼠标跟踪代码,则无效...

请帮帮我

以下是仅包含基本部分的代码

from PyQt4 import QtCore, QtGui
import sys


try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)



class Ui_MainWindow(object):

    def mouseMoveEvent(self, event):
        current = QtGui.QCursor.pos()
        x = current.x()
        y = current.y()
        print("Mouse %d %d" % (x,y))

    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(1920, 720)






import resources_rc

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    MainWindow = QtGui.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.setMouseTracking(True)
    MainWindow.show()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:1)

我解决了这个问题

我使用了来自https://github.com/bkach/earthquakeviz/blob/master/pyqt.py

的代码

再开一个课了

完整代码

[{id:1,'name':'banana','qty':1},{id:2,'name':'watermelon','qty':4}]