皮皮网

【网页客服源码修复版】【8格筹码源码】【导航收录整站源码】eventfilter源码

来源:华为鸿蒙源码开放 时间:2024-12-22 23:59:00

1.PyQt5系列教程(52):QDockWidget的使用

eventfilter源码

PyQt5系列教程(52):QDockWidget的使用

       上期我们一起学习了QDockWidget类。主要涉及到以下几个知识点:

       1、QQ秀的呈现

       2、QStackedWidget类的使用

       今天我们一起来学习下QDockWidget类,这个类能够实现在窗口中放入多个小部件,而且还能移动哦!网页客服源码修复版

       总体介绍

       QDockWidget类提供了一个可以停靠在QMainWindow中或作为桌面上的顶级窗口浮动的小部件。

       QDockWidget提供了Dock小部件的概念,也称为工具调色板或实用程序窗口。停靠窗口是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。

       停靠窗口可以在其当前区域内移动(红线的地方),移动到新区域并且由最终用户确定是8格筹码源码否浮动。 QDockWidget API允许程序员限制浮动窗口小部件移动,浮动和关闭的能力以及它们可以放置的区域。

       外观

       QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。根据QDockWidget的状态,float和close按钮可能被禁用或根本不显示。

       标题栏和按钮的视觉外观取决于使用的样式。

       QDockWidget充当它的子部件的包含,使用setWidget()进行设置。自定义尺寸提示,最小和最大尺寸和尺寸策略应该在子部件中实现。导航收录整站源码 QDockWidget会尊重他们,调整自己的约束以包含框架和标题。大小限制不应该在QDockWidget本身上设置,因为它们根据是否停靠而改变;停靠的QDockWidget没有框架和更小的标题栏。

       下图画圈的地方就是典型的QDockWidget例子,是可以浮动、移动甚至关闭的。

       类归属

       PyQt5->QtWidgets->QDockWidget

       继承关系

       PyQt5->QObject and QPaintDevice->QWidget->QDockWidget

       更多详细的介绍,请参见官网:

       小例子

       这是一个简单的小例子,在火影动漫中宇智波佐助得到六道仙人的力量馈赠,左眼开启勾玉轮回眼。勾玉轮回眼与轮回写轮眼类似,etcd 存储源码分析同时拥有轮回眼和写轮眼的力量。拥有独有忍术天手力和更强的六道之术,并继承了原本写轮眼和万花筒写轮眼的能力,能够使用连六道仙人都惊叹的幻术。经锻炼后能开启空间传送门,其发动的完成体须佐能乎可以抵挡无限月读的光芒,也能和拥有所有尾兽之力的人一起解除无限月读和神·树界降诞(来源:百科百科)。

       在下面的例子中没有这么夸张,为了演示方便,没有用复杂的小部件,只是用了QLabel加载而已,旨在演示QDockWidget的易语言 字帖源码作用,来源于互联网,不喜勿喷。

       在上面这个例子中,我们大部分都是通过Qt设计师来实现的,具有以下几个功能:

       1、QDockWidget是可以拖动的、悬浮的、甚至是关闭的。

       2、写轮眼做了设置,不可以关闭。

       3、轮回眼做了设置,即使关了,双击佐助上的轮回眼也能够显示。

       4、写轮眼、轮回眼是可以叠加的,变成了QTabWidget,貌似很厉害啊!

       如果你对写轮眼、轮回眼、佐助不知道的话,没有关系。写轮眼、轮回眼理解成两个QDockWidget小部件,佐助里面成QMainWindow中的一副就行了。

       代码解析

       使用Qt设计师可以很方便的帮助我们实现上面的功能,拖拽就行了。这里我把用简单的代码讲解一下如何使用QDockWidget。

       效果如下:

       使用QDockWidget首先要新建一个QDockWidget对象。

       新建一个按钮放在QDockWidget对象上。

       新建一个QTextEdit小部件设置为主窗口的中央小部件。

       将给定的dockwidget添加到指定的区域,这里是中间,对象是self.dock。

       说明一下,除了Qt.RightDockWidgetArea,还有其它的,如:

       其余的代码就不做说明,因为较为简单。

       这个就是一个最简单的例子了。

       我们之前所演示的火影忍者那个例子,和这个基本差不多。只是还有几点需要说明一下:

       1、写轮眼是无法关闭的。

       这个需要单独设置,如下:

       通过这个设置它只具有移动的功能了。当然除了DockWidgetMovable还有其它的功能,如下:

       2、有的时候我们需要QDockWidget就是浮动的,而不是我们把它拉出来,可以这样设置:

       效果如下:

       3、轮回眼即使关闭也能够通过点击佐助的显示出来。

       给self.label_zhuozhu2安装事件过滤器,然后重写eventFilter这个函数就行了。相关的知识点,请参见:

       最后

       本次的知识点较为简单,详细的内容可以下载源码自己看看。建议可以抽空研究下eric6自动生成的代码,我个人觉得也是可以提高的地方。

       好的,今天这期就这样结束吧。如果你喜欢本篇文章,请给我点赞

       赞赏(推荐)

       分享给你的好友们吧!

       关注微信公众号:学点编程吧,发送:pyqt可以获得本期代码。加油!(ง •̀_•́)ง (*•̀ㅂ•́)