setText()不';我真的不能用Python
它真的不起作用-文本没有改变-为什么它不起作用?它没有给我任何错误(但打印它应该打印的内容)setText()不';我真的不能用Python,python,input,label,pyqt4,settext,Python,Input,Label,Pyqt4,Settext,它真的不起作用-文本没有改变-为什么它不起作用?它没有给我任何错误(但打印它应该打印的内容) OnKeyboardEvent中的setModPosition()更改新创建的postTool的行编辑中的文本,因为您没有show()新窗口小部件,所以无法看到该文本。您可能需要在OMD\u post上调用setText 尝试用postTool中的函数替换OnKeyBoardEvent模块级函数,或者使用QShortCut import sys from PyQt4 import QtCore,QtGu
OnKeyboardEvent
中的setModPosition()更改新创建的postTool的行编辑中的文本,因为您没有show()
新窗口小部件,所以无法看到该文本。您可能需要在OMD\u post
上调用setText
尝试用postTool
中的函数替换OnKeyBoardEvent
模块级函数,或者使用QShortCut
import sys
from PyQt4 import QtCore,QtGui
from Windows.intro_win import Ui_Introduction
from 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 from 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_())
或者
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()
OnKeyboardEvent
中的postTool().setModPosition()
更改新创建的postTool的行编辑中的文本,因为您没有show()
新小部件,所以无法看到该文本。您可能需要在OMD\u post
上调用setText
尝试用postTool
中的函数替换OnKeyBoardEvent
模块级函数,或者使用QShortCut
import sys
from PyQt4 import QtCore,QtGui
from Windows.intro_win import Ui_Introduction
from 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 from 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_())
或者
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()
看起来你不是在调用
setModPosition()
是的,我是通过onkeyboardevent调用的,它打印调试“nomnom”,我忘了提到。啊,我没看到。你有没有检查过其他插槽是否正常工作,比如setMaxLength()
,或者selectAll()
?我没有使用任何其他插槽来进行此输入,这是我的代码,如果需要的话,它看起来不像你在调用setModPosition()
是的,我通过onkeyboardevent,它打印调试“nom”,我忘了提及。啊,我没看到。您是否检查过其他插槽是否工作,例如setMaxLength()
,或selectAll()
?我不使用任何其他插槽进行此输入,这是我的代码(如果需要)。问题是当我使用QT键事件时,当未选择窗口时它不工作(我的意思是,如果我在其他程序中使用键),当我单击F10时会显示小部件(aka keyboardevent),然后它调用postTool()内部的更改文本@Marcin:Right。您是否尝试过将postTool().setModPosition()
更改为OMD_post.setModPosition()
?在我看来,OMD_post
不应该在OnKeyBoardEvent
的范围内,但是由于您已经在上面的行中使用了OMD_post
。/me-biddy,/me-biddy(大约9000倍于biddy),它在更改为OMD_post后工作,谢谢,但我真的不知道当我没有使用OMD_post时它为什么不工作(它是从postToool[debug was working]调用方法)。问题是当我使用QT key event时,当窗口未被选中时它不工作(我的意思是如果我在其他程序中使用key),当我单击F10时会显示小部件(aka keyboardevent),然后它调用postTool()内部的更改文本@Marcin:Right。您是否尝试过将postTool().setModPosition()
更改为OMD_post.setModPosition()
?在我看来,OMD_post
不应该在OnKeyBoardEvent
的范围内,但是由于您已经在上面的行中使用了OMD_post
。/me-biddy,/me-biddy(大约9000倍于biddy),它在更改为OMD_post后工作,谢谢,但我不知道为什么在我没有使用OMD_post时它不工作(它是从postToool调用方法[debug was working])