- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 keyPressEvent
def keyPressEvent(self , e):
key = e.key()
if key == QtCore.Qt.Key_Escape:
self.close()
elif key == QtCore.Qt.Key_A:
print 'Im here'
但是,如果我单击 A ,它不会打印。但是,如果我单击“Escape”,窗口就会关闭。我哪里出错了?
编辑:
基本上我有一个带有行编辑和按钮的窗口。我想通过单击 Enter 将按钮链接到一个函数,比如说有趣。这是我的代码
import sys
from PyQt4 import QtGui , QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example , self).__init__()
self.window()
def window(self):
self.setWindowTitle('Trial')
self.layout = QtGui.QGridLayout()
self.text = QtGui.QLineEdit()
self.first = QtGui.QPushButton('Button')
self.layout.addWidget(self.text , 0 , 0)
self.layout.addWidget(self.first , 1 , 0)
self.setLayout(self.layout)
self.first.clicked.connect(self.fun)
self.show()
def fun(self):
//do something
def keyPressEvent(self , e):
key = e.key()
if key == QtCore.Qt.Key_Escape:
self.close()
elif key == QtCore.Qt.Key_Enter:
self.fun()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
稍后我会添加更多键。但除了 Escape 之外,其他都不起作用/
最佳答案
您正在寻找的方法称为 keyPressEvent
,而不是KeyPressEvent
。
您的 QLineEdit
似乎正在窃取您的 KeyPress
事件。如果您只想处理行编辑中的 Enter 键,则可以将 returnPressed
信号连接到 self.fun
:
self.text.returnPressed.connect(self.fun) # in PySide
否则,你将不得不乱搞 event filters 。稍后我会尝试发布一些代码。
<小时/>您的最终编辑使其更加清晰。您可以安全地删除 keyPressEvent
并只需使用:
self.text.returnPressed.connect(self.fun)
self.button.clicked.connect(self.fun)
这真是一个困惑的答案:)
关于python - QtCore.Qt.Key_ 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13399598/
在Mac上编译QT工程,遇到如下错误 ld: file not found: QtCore.framework/Versions/4/QtCore for architecture x86_64 这不
我正在用 C++ 编写多线程程序,并计划使用 QThread .问题是当我尝试 #include ...我得到一个错误... Cannot find include file QtCore. 什么给
我正在尝试从源代码构建一个包,./configure 告诉我缺少 QtCore 包。一直在谷歌搜索并尝试 apt-get 但没有成功。请帮忙。 最佳答案 它叫做 libqt4-core在 Debian
我正在尝试将 Qt 用作库(类似于 this ),因为我想在一些当前非 Qt 应用程序中重用 Qt 类,并在共享库中作为跨平台胶水。一切都是非 GUI 的。 DirectConnection 可以轻松
我正在尝试构建两个库:一个是静态的,一个是共享的。问题出在静态库上。我有以下文件夹: src/ db/ dbal.h dbal.pro dll/ Distributio
是否有可与 PyQT4 一起使用的信号列表,或者至少有一个与lostFocus()相反的信号列表? 最佳答案 “QWidget”生成了一个 QFocusEvent 事件,但不是信号。然而,有一个方便的
在我的项目中,QtCreator 让我可以: #include // include all core #include 但不是 #include 我有一个 .pro 文件,其中有 QT +=
我已经从源代码构建了 PyQt4,一切都很顺利,直到我尝试使用 QtCore 中的一些类和属性。由于某种原因,QtCore 缺少许多本应存在的功能和数据。例如,从 PyQt4.QtCore impor
我正在尝试使用 QtCore.Signal 将类的新实例发送到对象的父级。我正在尝试做的事情如下,但失败了: NameError: name 'myClass' is not defined clas
我一直在尝试安装 torch,但在运行 ./install.sh 时出现以下错误 CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:6
我正在尝试使用 pyinstaller 的 --onefile 选项构建我的应用程序。这是摘录。 import sys from PyQt4 import QtGui, QtCore from mod
我的项目使用 cmake 试图寻找已安装的 QT4: root@netqa1:~# which qmake /usr/bin/qmake root@netqa1:~# ls -l /usr/lib/i
我在这个 windows 7 32 位上安装了 python3.3 x86(官方 python.org 安装程序) 然后从这里为 python3.3 windows x86 安装 PyQt4-4.10
这是我的 keyPressEvent def keyPressEvent(self , e): key = e.key() if key == QtCore.Qt.Key_Escape
我正在尝试让旧的 qt 项目再次运行。我相信它是用 QT4.x 编写的,我现在正在使用 QT 5.5。 *.pro 文件看起来有点像这样: ##############################
所以我正在尝试使用 QT Creator 创建一个 dll。我去了new project -> libary -> C++ libary -> choose .它自动生成一个头文件 global前缀和
我遇到了一个类似于帖子的奇怪的 stackoverflow 崩溃: here QMutex 试图递归地 self 锁定然后导致崩溃...调用栈是这样的: ...(mor
代码: class Text(QtGui.QLabel): def __init__(self,parent): QtGui.QLabel.__init__(self,pare
我想通过具有不同参数的相同函数检查多个 QtGui.QLineEdits 中的用户输入。我尝试了 QtCore.SignalMapper。这是我在测试应用程序中的代码: self.signal
我有 Windows 8.1 机器,安装了两个 Python 3.4.4 和 3.2.2在 python 3.4.4 中一切看起来都很好 Python 3.4.2 (v3.4.2:ab2c023a94
我是一名优秀的程序员,十分优秀!