我正在为触摸屏制作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_())
答案 0 :(得分:1)
我解决了这个问题
我使用了来自https://github.com/bkach/earthquakeviz/blob/master/pyqt.py
的代码再开一个课了
完整代码
[{id:1,'name':'banana','qty':1},{id:2,'name':'watermelon','qty':4}]