python控件获取焦点_PyQt控件键盘焦点
首先——感谢你们的支持!一个月前我开始研究PyQt。在那段时间里,我遇到了很多问题,事实上总能在这里找到答案。在
直到现在。在
我有一个解决办法,但我认为这是一个愚蠢的,可能有一个适当的方法。我想更好地了解发生了什么事。在
代码如下:from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class FormWidget(QWidget):
def __init__(self, parent):
super(FormWidget, self).__init__(parent)
# Create view with image in it
self.image = QGraphicsPixmapItem(QPixmap())
self.scene = QGraphicsScene()
self.scene.addItem(self.image)
self.view = QGraphicsView(self.scene)
self.hlayout = QHBoxLayout()
self.hlayout.addWidget(self.view)
self.setLayout(self.hlayout)
# self.view.keyPressEvent = self.keyPressEvent
def keyPressEvent(self, event):
key = event.key()
mod = int(event.modifiers())
print(
" Key 0x{:x}/{}/ {} {} {}".format(
self,
key,
event.text(),
" [+shift]" if event.modifiers() & Qt.SHIFT else "",
" [+ctrl]" if event.modifiers() & Qt.CTRL else "",
" [+alt]" if event.modifiers() & Qt.ALT else ""
)
)
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
form = FormWidget(self)
self.setCentralWidget(form)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
同样,所有键盘输入都由重载的keypresEvent()函数检测,箭头键除外。我已经找到了足够多的帖子来讨论这一点,我觉得这是因为子控件(自我观察)正在接收它们。我假设子窗口小部件实际上接收所有的击键操作,但忽略正在通过的按键,并吸收箭头键,这就是为什么它们不能访问父控件的keyPressEvent()函数的原因。似乎是这样,因为如果我取消了中间那行的注释:
^{pr2}$
它的行为与我预期的一样——父级的keypresEvent()获取所有的击键,包括箭头。在
我如何告诉子部件忽略所有的击键?我想也许是这样:self.view.setFocusPolicy(Qt.NoFocus)
当我添加它时,keypresevent()根本看不到任何键击。在
我想我也可以为子对象重载keypresEvent(),只需显式地将所有内容传递给父对象。但这似乎比不上我的克鲁格。在
我想我一定是误会了什么。在
谢谢。只是想学。。。在
python控件获取焦点_PyQt控件键盘焦点相关推荐
- Python Tkinter教程(二)——Label控件、Frame控件、Button控件的完整参数和所有方法及详细用法
>>>[上节回顾:tkinter编程基本步骤.窗口基本属性及Toplevel控件的使用]<<< Python Tkinter教程(二) 这篇博客将详 ...
- android 控件遮盖,Android手机软键盘遮挡布局控件
在Activity中的布局的下方有EditText获取焦点弹出软键盘的时候,如果不作处理,软键盘可能会遮挡输入框或者一些按键,这样的用户体验比较差. 这里整理了几种处理方式,可以使页面整体上移.并且提 ...
- Android 查找最近的可以获取焦点的控件(一) 指明控件下一个查找属性的查找
查找最近的可以获取焦点的控件的方法focusSearch(@FocusRealDirection int direction) 查找最近的可以获取焦点的控件是通过View类的focusSearch ...
- python 动态调整控件大小_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...
PyQt5动态(可拖动控件大小)布局控件QSplitter简介 PyQt还提供了特殊的布局管理器QSplitter.它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用 ...
- python爬silverlight_Python创建Silverlight控件编写过程经验分享
Python编程语言可以帮助我们实现哪些功能呢?它的主要应用范围都包括哪些呢?我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法,以此来初步熟悉一下这一语言的应用方式以及 ...
- VS 2019 MFC Edit Control控件自绘带软键盘
实现功能:点击Edit控件后弹出软键盘,并能设置软键盘的输入最大者和最小值,软键盘采用非模态对话框创建,软键盘按钮字体颜色.背景颜色可以改变.Edit控件获得焦点和失去焦点后字体颜色和背景颜色动态可变 ...
- python表格控件_python表格控件
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! pyqt5表格控件qtableview简介在通常情况下,一个应用需要和一批数据进 ...
- python第三方库tkinter之Label控件和Button控件
from tkinter import * window =Tk() window.title("dalaijun")#窗口标题 window["background&q ...
- Python调用外部EXE程序遍历窗体及控件并获取控件信息。
背景 我的工作中经常手工运行一个windows程序(密码生成工具),获取该程序的计算结果,手工填到登录表单的中.该程序非常久远,已无人维护.根据凡是重复2次以上的工作都应该自动化原则,那么我来写个自动 ...
最新文章
- MySQL 设计规范(续)
- Linux系统基础网络配置老鸟精华篇
- C程序运用递归求阶乘
- 【VOC格式xml文件解析】——Python
- 为啥JAVA虚拟机不开发系统_理解Java虚拟机体系结构
- docker compose mysql_docker-compose部署MySQL
- 张朝阳寄语“校花”把参赛比做登山 走到不同阶段都是一种成就
- “不会SQL,干啥都不行!”资深研发:这是程序员的必备技能!
- Xshell远程连接Linux失败
- HTTP的REST服务简介
- 微信小程序使用Echarts 实现世界地图(其它地图同理)
- linux版印象笔记 for deepin
- 【洛谷 P5850】 calc加强版(生成函数+NTT)
- Linux ffs()函数
- 将Outlook中的邮件保存到本地磁盘,释放邮箱空间
- 在iPad平板上配置Exchange邮箱
- 机器学习如何借鉴人类的视觉识别学习?让我们从婴幼儿的视觉学习说起
- 信息安全系统设计基础_exp2
- Windows7系统下为右键菜单设置背景
- 郑州有哪些比较好的全国知名互联网公司(部分名单)?
热门文章
- android 实例-个人理财工具,Android 个人理财工具六:显示账单明细 下
- 第一部分:基础知识(第一章)一个XNA 手机程序
- Android笔记-Linux Kernel Ftrace (Function Trace)解析
- 违章查询源码 php,全国车辆违章查询API接口文档及demo
- A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus
- 使用POI的excel导入图片,并将图片上传至fastdfs文件服务器
- 数据结构 第八章 排序 作业(已批改)
- java搬砖问题流程图,搬砖问题 c++
- PHP著名开源项目汇总(LAMP)
- 新手如何练习文案写作