首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python:PyQt学习

这样做最大好处就是保留了Qt高运行效率同时,大大提高了开发效率。...因此 if __name__ == 'main': 作用就是控制这两种情况执行代码过程, if __name__ == 'main': 下代码只有第一种情况下(即文件作为脚本直接执行)才会被执行...deleteLater()并没有将对象立即销毁,而是向消息循环发送了一个event,下一次消息循环收到这个event之后才会销毁对象,这样做好处是可以在这些延迟删除时间内完成一些操作,坏处就是内存释放会不及时...setMouseTracking(bool) 设置鼠标是否跟踪 所谓鼠标跟踪,其实就是设置检测鼠标移动事件条件 不跟踪 鼠标移动时,必须处于按下状态,才会触发mouseMoveEvent事件...#一个窗口或部件Macintosh抽屉 Qt.Popup #一个弹出式顶层窗口 Qt.Tool #一个工具窗口 Qt.ToolTip #一个提示窗口没有标题栏和窗口边框

10.5K10

初学Qt(一)

一、初识Qt——信号和槽、跨平台开发框架 首先要知道Qt是基于C++跨平台应用程序开发框架,所谓跨平台就是你Windows下写程序放在Linux下也能用,而且图形化风格也会随着系统改变而改变...右侧,创建应用程序可以是窗体程序或是控制台程序(没有图像化界面),其他类型没有使用过,不做介绍。如果左侧选择是Library模板,对应右侧会是不同选项。 ?...MainWindow带有菜单条,工具条和一个状态条应用程序窗口;Widget是所有用户界面对象基类,窗口部件是用户界面的一个基本单元 ;Dialog是对话框窗口基类,对话框窗口主要用于短期任务和用户进行短期通讯顶级窗体...Linux 下Qt Assistant Qt安装目录/opt/Qt5.5.1/5.5/gcc/bin下 ③lineEdit本身没有鼠标点击焦点信号发出,我想在编辑框被点...③如何获取点击lineEdit编辑框通知(定制自己想要功能) lineEdit编辑框被点击时是没有信号发出,若想得到这个通知,有两种方式: 一是继承QLineEdit,自己重新实现鼠标点击事件,二是使用事件过

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—3)

sizePolicy属性 sizePolicy属性用于说明组件布局管理中缩放方式,当部件没有布局管理器中时,该设置无效。...不启用情况下,对应部件只接收在鼠标移动同时至少一个鼠标按键按下时鼠标移动事件,启用鼠标跟踪情况下,任何鼠标移动事件部件都会接收。...contextMenuPolicy属性 contextMenuPolicy属性是组件快捷菜单策略,快捷菜单通过部件上点击鼠标右键触发。...,Qt Designer中可以通过属性acceptDrops设置部件是否接受鼠标拖放事件。...当窗口没有设置标题属性情况下,则窗口标题展示展示windowFilePath对应文件名信息(路径信息不展示),如果二者都设置,则优先使用窗口标题属性设置作为标题。

5.4K40

Qt Designer中QWidget属性表介绍

没启用情况下,对应部件只接收在鼠标移动同时至少一个鼠标按键按下时鼠标移动事件; 启用鼠标跟踪情况下,任何鼠标移动事件部件都会接收。...tabletEvent() ⑥focusPolicy Qt Designer中可以设置部件焦点策略 ---- 部件焦点策略属性取值范围由枚举类型Qt.FocusPolicy来定义,该枚举类型及其含义如下表所示...contextMenuPolicy为部件快捷菜单策略,快捷菜单通过部件上点击鼠标右键触发。...---- 当窗口没有设置标题属性情况下,则窗口标题展示是windowFilePath对应文件名信息(路径信息不展示), 如果二者都有设置,则优先使用窗口标题属性设置作为标题。...使用QPalette不活跃颜色组,因为ToolTip不是活跃窗口 QPalette.Text 6 与Base一起使用前景色,通常情况下和windowText效果相同,与Base一起使用情况下

10.3K20

七夕快到了,教你用python去表白!

窗口小部件是示例窗口小部件,它是通过QWidget继承 self.buttonOK.setFocusPolicy(QtCore.Qt.NoFocus)#按钮无焦点 # Qt::TabFocus 0x1...接受Tab键焦点 # Qt::ClickFocus 0x2 接受鼠标单击做焦点 # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab键和鼠标单击做焦点...接受Tab键焦点 # Qt::ClickFocus 0x2 接受鼠标单击做焦点 # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab键和鼠标单击做焦点...0x1 接受Tab键焦点 # Qt::ClickFocus 0x2 接受鼠标单击做焦点 # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab键和鼠标单击做焦点...self.buttonNO.move(self.q,self.w) #当我们关闭一个窗口时,PyQt中就会触发一个QCloseEvent事件,正常情况下会直接关闭这个窗口, #但是我们不希望这样事情发生

1.6K10

Python Qt GUI设计:5种事件处理机制(提升篇—3)

比如可以改变它行为:鼠标按键按下时触发clicked信号,而不是释放时。 1、常见事件类型 Qt事件类型有很多,常见Qt事件如下所示: 键盘事件:按键按下和松开。...鼠标事件:鼠标指针移动、鼠标按键按下和松开。 拖放事件:用鼠标进行拖放。 滚轮事件:鼠标滚轮滚动。 绘屏事件:重绘屏幕某些部分。 定时事件:定时器到时。 焦点事件:键盘焦点移动。...以及最后一些鼠标、键盘点击操作等。...QApplication(sys.argv) form = Widget() form.show() app.exec_() 2.2、重新实现QObject.event() 一般用在PyQt没有提供该事件处理函数情况下...2.1、重新实现事件函数例子中补充以下代码,实现重新定义: '''重新实现其他事件,适用于PyQt没有提供该事件处理函数情况,Tab键由于涉及焦点切换,不会传递给keyPressEvent

2.1K30

Qt5-QtWidgets篇

什么是QT QT是一个跨平台C++图像用户界面应用程序框架 QT1991年由奇趣科技开发 QT优点 跨平台,几乎支持所有平台 接口简单,容易上手 一定程度上简化了内存回收机制 有很好社区氛围 可以进行嵌入式开发...中对象树 当创建对象堆区时候,如果指定付钱是QObject 派生下来类或者子类 派生下来类,可以不需要管理释放操作,会将对象放入对象树 一定程度上简化了内存回收机制 QT窗口坐标系 笛卡尔坐标系...[左上角为0,0点] QT信号和槽 connect( 信号发送者 ,信号具体信息, 信号接受者,信号处理[槽]) 信号槽优点 松散耦合 信号发送端 和 接收端本身是没有关联,通过connectl...Spacers 弹簧 Widget div盒子 Group Box 分组[适用于Radio Button] 窗口设置垂直布局后可以sizePolicy->垂直策略->Fixed来使组件高度合适 如果找不到某个组件信号或者槽...实际上就是objectName指定值 伪状态 :active 当小部件驻留在活动窗口中时,将设置此状态 :checked 该控件被选中时候状态 :hover 鼠标控件上方 :pressed

1.5K20

Qt 常用类 (9)—— QWidget

1)Qt::FramelessWindowHint:没有边框窗口。        2)Qt::WindowStaysOnTopHint:总是最上面的窗口。        ...注意: 对于一个窗口部件来说,它两套几何参数是一致。        可见性与隐藏        可见性指的是窗口是否显示屏幕上属性。被其他窗口暂时遮挡住窗口也属于可见。...2)非隐藏窗口窗口可见情况下也是可见。         3)非隐藏顶级窗口是可见。        ...全屏方式与最大化区别在于:全屏方式下窗口边框和标题栏消失,客户区占据整个屏幕。窗口各种状态仅对独立窗口有效,对窗口部件来说没有意义。        ...值得一提是 editFocus 属性,这是一个专门用于嵌入式系统属性。因为嵌入式系统通常键盘较小,没有专门用于切换焦点 Tab 键,所以上下方向键被用来切换焦点

3.5K10

python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析

PyQt5中信号与槽可以说是对事件处理机制高级封装,如果说事件是用来创建窗口控件,那么信号与槽就是用来对这个控件进行使用,比如一个按钮,当我们使用按钮时,只关心clicked信号,至于这个按钮如何接受并处里鼠标点击事件...,然后发射这个信号,则不关心,但是如果要重载一个按钮,这时候就要关心了,比如可以改变它行为:鼠标按下时触发clicked信号,而不是释放时 PyQt5常见事件类型 pyqt是对Qt封装,qt程序是事件驱动...:重绘制屏幕某些部分 定时事件:定时器到时 焦点事件:键盘焦点移动 进入和离开事件:鼠标指针移入Widget内,或者移出 移动事件:Widget位置改变 大小改变事件:widget大小改变 显示和隐藏事件...QObject.event() 一般用在pyqt没有提供该事件处理函数情况下,即增加新事件时 3 、安装事件过滤器 如果对QObject调用installEventFilter,则相当于为这个QObject...重载tab键 '''重新实现其他事件,适用于PyQt没有提供该事件处理函数情况,Tab键由于涉及焦点切换,不会传递给keyPressEvent,因此,需要在这里重新定义。'''

2.5K21

PySide6 GUI 编程(2):窗口设置与基础控件

QMainWindow 是Qt框架中用于创建和管理窗口一个类,这意味着 MyMainWindow 类将拥有 QMainWindow 所有功能和属性。...事件处理:子控件通常会将事件(如鼠标点击、键盘输入等)传递给它们父对象。通过指定 self 作为父对象,按钮能够将事件传递给 MyPushButton 类实例,允许类中处理这些事件。...布局管理:Qt中,控件布局是基于父子关系来管理。指定 self 作为父对象可以确保按钮被正确地放置在窗口内,并且可以利用布局管理器来自动调整按钮位置和大小。...Qt中,窗口标题通常与 QMainWindow 或 QWidget 类相关联,它们是能够提供完整窗口装饰(如标题栏、边框、状态栏等)窗口控件。...如果希望标题显示出来,需要将其设置窗口上,也就是 MyLineEdit 类本身,因为 QMainWindow 是具有窗口标题和完整窗口装饰顶级窗口控件。

21132

顺丰科技QT面试题「建议收藏」

答:1.将QSS统一写在一个文件中,通过程序给窗口加载; 2.写成一个字符串中,通过程序给窗口加载; 3.需要使用地方,写一个字符串,加载给对象; 4.QT Designer中填写; 事件机制:...常见QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键按下和松开 拖放事件: 用鼠标进行拖放 滚轮事件: 鼠标滚轮滚动 绘屏事件: 重绘屏幕某些部分...定时事件: 定时器到时 焦点事件: 键盘焦点移动 进入和离开事件: 鼠标移入widget之内,或是移出 移动事件: widget位置改变 大小改变事件: widget大小改变...显示和隐藏事件: widget显示和隐藏 窗口事件: 窗口是否为当前窗口 知道QT事件机制有几种级别的事件过滤吗?...处理一些不常见事件(比如:LayoutDirectionChange)时,evnet()也很有用,因为这些函数没有相应特定事件处理函数.

67110

Python Qt GUI设计:将UI文件转换为Python文件三种妙招(基础篇—2)

Qt Creator 界面很简洁,上方是主菜单栏,左侧是工具栏,窗口中间部分是工作区。根据设计内容不同,工作区会显示不同内容。...窗口左侧是工具栏,工具栏提供了项目文件编辑、窗体设计、程序调试、项目设置等各种功能按钮。 左侧工具栏单击“Welcome(欢迎)”按钮后显示实例界面。...GUI 设计完全基于 C++ 语言,采用 Qt 提供一套 C++ 类库。...第2步:这里创建一个Qt for Python - Empty应用程序模板就可以,如下图所示: 第3步:鼠标右击main工程,工程下新建一个窗口界面ui文件,如下图所示: 此时工程文件如下所示...实现界面与逻辑分离方法很简单,只需要新建一个逻辑处理Python文件,继承界面文件窗口类即可,后续项目我们会讲到实际应用。

3K60

Java事件处理,低级事件类型:键盘事件+焦点事件,你真的懂吗?

需要注意,Windows环境下,使用BUTTON3_DOWN_MASK检测鼠标右键(非主要状态。...由于需要知道点击次数,所以这个操作是mouseClick方法中实现。 当鼠标窗口上移动时,窗口将会收到一连串鼠标移动事件。大多数应用程序忽略了这些事件。...当文本域具有焦点时候,可以将文本输入到文本域中;当按钮有焦点时候,可以通过敲击空格键来“点击”这个按钮。 一个窗口中,最多只有一个组件拥有焦点。...默认情况下,Swing组件按照放置容器中位置,从上到下,从左到右顺序遍历。也可以改变焦点遍历顺序,有关这个主题更加详细内容请参阅下一章。...只有焦点拥有者包含在没有框架修饰顶层窗口(例如,弹出式菜单)中时才有所差别。

3.8K30

QT常见面试题,基础知识偏多

答:1.将QSS统一写在一个文件中,通过程序给窗口加载; 2.写成一个字符串中,通过程序给窗口加载; 3.需要使用地方,写一个字符串,加载给对象; 4.QT Designer中填写; 事件机制:...常见QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键按下和松开 拖放事件: 用鼠标进行拖放 滚轮事件: 鼠标滚轮滚动 绘屏事件: 重绘屏幕某些部分...定时事件: 定时器到时 焦点事件: 键盘焦点移动 进入和离开事件: 鼠标移入widget之内,或是移出 移动事件: widget位置改变 大小改变事件: widget大小改变 显示和隐藏事件...: widget显示和隐藏 窗口事件: 窗口是否为当前窗口 知道QT事件机制有几种级别的事件过滤吗?...而且可以给QApplication对象安装任意个数事件。 QT版本: 请问使用QT版本是?有没有使用过QT4?QT5信号槽与QT4相比有什么改进?

5.3K10

基于Python+uiautomationwindowsGUI自动化测试概述

PyQt4支持Qt4。它首次发布也是1998年,但是当时它叫 PyKDE,因为开始时候SIP和PyQt没有分开。PyQt是用SIP写。...支持C++和python,用它可以很容易实现QQ和360安全卫士这样绚丽界面。...定位窗口、显示和关闭窗口、获取窗口位置等)pyautoguihttps://pyautogui.readthedocs.io/en/latest/屏幕控制(截屏等)、鼠标控制(移动鼠标、单击、双击、右击..., WPF, Metro App, IE;另外Qt, Firefox, Chrome实现了UI Automation Provider,也支持UIAutomation;作者用Python和C++对UIAutomation...枚举控件树深度,如果不指定,枚举整个树-f 从焦点控件枚举,如果不指定,从当前窗口枚举-c 从光标下控件枚举,如果不指定,从当前窗口枚举-a 获取光标下控件及其所有父控件-n 显示控件完整Name

2.6K30

QT】图形视图、动画框架

如果没有图像项,则为顶层图像项,其均会在场景坐标系统中。 所有的图像项都会使用确定顺序来进行绘制,这个顺序也决定了单机场景时哪个图像项会先获得鼠标的输入。...视图坐标 视图坐标就是部件坐标,视图坐标的每一个单位对应一个像素,原点总是QGraphicsView视口左上角,而右下角是宽高。所有的鼠标事件和拖放事件都是使用视图坐标来接收。...对于键盘事件,会传递给获得焦点图像项,若场景中没有获得焦点,则键盘事件被丢弃。可通过setFocus()获取焦点。...一个图像项可以接收悬停事件,当鼠标进入它区域之中时,它就会收到一个QGraphicsSceneHoverEnter事件,鼠标图像项区域移动时,QGraphicsScene就会向该图像项发送GraphicsSceneHoverLeave...该框架是通过控制Qt属性来实现动画,可以应用在窗口部件和其他QOBject对象上,也可以应用在图像视图框架中。

1.4K30

简析CloudCompare文件夹之间关系

QCC_GL_LIB 实现对OpenGL可视化库,比如实现创建GL窗口,以及可视化参数配置窗口 ccViewer文件夹依赖common没有编译成库形式,其主要实现了一些弹窗,界面按钮功能...也就是各种鼠标点击,拖拽信号处理实现。 qCC文件是CloudCompare主要实现文件夹,包含了对界面的中各个功能实现。...相比ccViewer多了一个qcustomplot库依赖,QCustomPlot是一个用于绘图和数据可视化Qt C++构件, 它没有进一步依赖关系,并有很好文档记录, 该绘图库专注于制作美观,制作高品质...Q_OBJECT是Qt一个宏定义,这是因为Qt语法是c++基础上拓展,所以Qt程序编译过程中,直接用gcc这些标准编译器进行编译是不可行,因为gcc不能识别这些拓展性语法,比如信号和槽...moc(Meta-Object Compiler),即元对象编译器,Qt 程序交由标准编译器编译之前,会使用 moc 分析 C++ 源文件,假设它发现某个头文件中包括了 Q_OBJECT这个宏,需要注意

98720

PyQt 键盘事件和鼠标事件

PyQt为事件处理提供了两种机制:高级信号和槽机制,以及低级事件处理程序。前者已经介绍过,后者也有涉及,比如我们曾重新实现过窗口部件closeEvent()。...PyQt为拦截和处理事件提供了5种不同方式,这里只介绍最常用头两种方式。 第一种是重新实现特定事件,如键盘和鼠标事件、重绘事件、尺寸大小改变事件等等,处理程序。可参见代码示例。...重新实现这个方法,可以允许我们处理那些不能在某一特定事件处理程序(如对Tab键焦点转换行为重新定义)中处理事件,或者实现那些不存在明确事件处理程序事件,比如QEvent.ToolBarChange...当需要重新实现这些处理程序时,可以对所有其它不是自己亲自处理事件调用它们基类实现。 ?...") self.setCentralWidget(QWidget())#指定窗口中心部件 self.statusBar().showMessage("ready")#状态栏显示信息

6.3K20

QT(一).hello world(1)

代码不同平台上生成应用,界面风格将会迥异(随平台而定) QtC++ 编程思想集大成者,从中可以习得很多优秀编程最佳实践 Qt is not a programming language on...会弹出一个小窗口 编译执行过程中没有报错,从结果来看,符合预期 ---- QApplication #include Qt应用中,我们通常都可以看到一个 QApplication...QApplication 类管理GUI程序控制流和设置 QApplication 包含主事件循环, 所有来自窗口系统和其他源事件将被处理和分配, 它也处理程序初始化,析构和提供会话管理 对于非GUI...:如palette(),font(),doubleClickInterval()(鼠标双击时间间隔),并一直监视这些属性,以防用户改变他们(得到及时更新) 2.处理事件:它接收来自底层窗口系统事件...()可以实时改变 5.知道程序窗口信息:可以通过widgetAt(),还可以得到一个窗口列表通过topLevelWidgets(),然后通过closeAllWindows()关闭所有窗口 6.管理鼠标操作

71510
领券