input - setText() doesn't really work Python -
import sys pyqt4 import qtcore,qtgui windows.intro_win import ui_introduction windows.post_adder_win import ui_posttool import win32clipboard import pyhook class intro(qtgui.qmainwindow): def __init__(self,parent=none): qtgui.qwidget.__init__(self,parent) self.ui = ui_introduction() self.ui.setupui(self) class posttool(qtgui.qmainwindow): def __init__(self,parent=none): qtgui.qwidget.__init__(self,parent) self.ui2 = ui_posttool() self.ui2.setupui(self) def setmodposition(self): self.ui2.lineedit_2.settext("something") print "nomnom" def onkeyboardevent(event): keyclicked = event.keyid if keyclicked == 121: print "debug keyboardevent" omd_post.show() posttool().setmodposition() if __name__ == "__main__": app = qtgui.qapplication(sys.argv) omd_intro = intro() omd_post = posttool() omd_intro.show() eventkey = pyhook.hookmanager() eventkey.keydown = onkeyboardevent eventkey.hookkeyboard() sys.exit(app.exec_())
it doesn't work - text didn't change - why doesn't work? doesn't give me error (but print prints should) https://dl.dropbox.com/u/21125662/compilation/_00398.jpg
posttool().setmodposition()
in onkeyboardevent
changes text in lineedit of newly created posttool, won't see since don't show()
new widget. want call settext
on omd_post
.
try replacing onkeyboardevent
module level function keypressevent function in posttool
, or maybe use qshortcut.
class posttool(qtgui.qmainwindow): def __init__(self,parent=none): qtgui.qwidget.__init__(self,parent) self.ui2 = ui_posttool() self.ui2.setupui(self) def setmodposition(self): self.ui2.lineedit_2.settext("something") print "nomnom" def keypressevent(event): if type(event) == qtgui.qkeyevent: key = str(event.text()).lower() if key == 'whatever': self.setmodposition()
alternatively,
class posttool(qtgui.qmainwindow): def __init__(self,parent=none): ... # existing stuff qtgui.qshortcut(qtgui.qkeysequence("f10"), self, self.setmodposition)
Comments
Post a Comment