我不确定我做错了什么,基本上我想在鼠标释放事件发生时发出信号(自定义)。
Class myWidget(QWidget):
def mouseReleaseEvent(self,event):
if event.button()==Qt.LeftButton:
message="LEFT BUTTON HAS BEEN CLICKED"
QtCore.QObject.emit(self,QtCore.SIGNAL('message(QString)') str(message))
当我这样做时没有任何反应我看不到发出的信号,我决定移动
message="LEFT BUTTON HAS BEEN CLICKED"
QtCore.QObject.emit(self,QtCore.SIGNAL('message(QString)') str(message))
进入PaintEvent,这样我就可以确定是否有任何东西被解雇了。令我惊讶的是,在paintevent中,我可以看到事件被触发(因为我能够使用该消息)。但是当我把它放入mouseReleaseEvent甚至是MousePressEvent时,没有任何反应?
我做错了什么。 注意我确实尝试过打印" hello world"直接进入mouseReleaseEvent,只是为了测试,我可以看到正在按预期执行的print语句。为什么我没有看到MouseReleaseEvent?
使用pyqt,python和windows。这很奇怪
答案 0 :(得分:2)
不要使用旧式的信号语法,因为它很容易出错并且难以调试。改为使用new style syntax:
oSqlCommand1.CommandText = "INSERT INTO User_Images([" + AcNo.Text + "]) VALUES ('https://xxxx.xxxx.core.windows.net/container-" + AcNo.Text + "/" + fileName + "');";