PyQt5系列教程(52):QDockWidget的使用
上期我们一起学习了QDockWidget类。主要涉及到以下几个知识点:
1、文章文章QQ秀的赞赏赞赏呈现
2、QStackedWidget类的源码源码python3爬虫源码使用
今天我们一起来学习下QDockWidget类,这个类能够实现在窗口中放入多个小部件,文章文章而且还能移动哦!赞赏赞赏!源码源码
总体介绍
QDockWidget类提供了一个可以停靠在QMainWindow中或作为桌面上的文章文章顶级窗口浮动的小部件。
QDockWidget提供了Dock小部件的赞赏赞赏概念,也称为工具调色板或实用程序窗口。源码源码停靠窗口是文章文章放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。
停靠窗口可以在其当前区域内移动(红线的赞赏赞赏地方),移动到新区域并且由最终用户确定是源码源码否浮动。 QDockWidget API允许程序员限制浮动窗口小部件移动,浮动和关闭的能力以及它们可以放置的区域。
外观
QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。根据QDockWidget的状态,float和close按钮可能被禁用或根本不显示。
标题栏和按钮的视觉外观取决于使用的样式。
QDockWidget充当它的子部件的包含,使用setWidget()进行设置。自定义尺寸提示,最小和最大尺寸和尺寸策略应该在子部件中实现。 QDockWidget会尊重他们,调整自己的约束以包含框架和标题。大小限制不应该在QDockWidget本身上设置,因为它们根据是否停靠而改变;停靠的QDockWidget没有框架和更小的标题栏。
下图画圈的地方就是典型的QDockWidget例子,是可以浮动、移动甚至关闭的。
类归属
PyQt5->QtWidgets->QDockWidget
继承关系
PyQt5->QObject and QPaintDevice->QWidget->QDockWidget
更多详细的介绍,请参见官网:
小例子
这是一个简单的小例子,在火影动漫中宇智波佐助得到六道仙人的力量馈赠,左眼开启勾玉轮回眼。勾玉轮回眼与轮回写轮眼类似,同时拥有轮回眼和写轮眼的力量。拥有独有忍术天手力和更强的轻博客系统源码六道之术,并继承了原本写轮眼和万花筒写轮眼的能力,能够使用连六道仙人都惊叹的幻术。经锻炼后能开启空间传送门,其发动的完成体须佐能乎可以抵挡无限月读的光芒,也能和拥有所有尾兽之力的人一起解除无限月读和神·树界降诞(来源:百科百科)。
在下面的例子中没有这么夸张,为了演示方便,没有用复杂的小部件,只是用了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可以获得本期代码。加油!(ง •̀_•́)ง (*•̀ㅂ•́)
成品app直播源码有什么用
1. 直播销售功能:直播商城APP源码的一个关键特性是支持实时直播销售。商家可利用此功能展示商品并进行实时销售讲解,图片转源码网站同时用户可以观看直播、参与互动并提出问题,以便更全面地了解商品。
2. 频道分类导航:直播APP开发时加入的分类功能允许用户轻松切换不同类别的直播内容,从而提升用户体验和内容的可发现性。
3. 礼物打赏系统:直播APP源码中包含了礼物打赏功能,用户可以选择不同的虚拟礼物来表达对主播的支持和赞赏。
4. 直播连麦功能:在直播过程中,用户可以申请与主播进行连麦互动,而主播可以选择接受或拒绝连麦请求,以此控制直播间的互动节奏。
5. 游戏互动环节:主播可以在直播间启动游戏互动,与观众一起玩游戏,增加直播的趣味性和互动性,从而提升直播的整体氛围。
什么是开源软件?有什么优缺点?
开源软件即为开放源代码软件,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。优点:
1、降低风险
拥有源代码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该源代码开始开发新的产品以解决原来机构的问题。顾客也能自己维护或找别人改进它以达到自己的要求。
2、质量高
一些研究已经显示了open-source软件与别的可比商业软件具有可靠性上的极大优势。更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。一些公司甚至给予发现Bug者以物质奖励。
3、透明度高
有软件有很多“阴暗的死角”,隐藏着许多Bug。源码对于查错和理解产品工作原理来说是很重要的。在大的软件公司,只有极少数人能接触到源码,而这些能接触源码的溯源码能查人通常用户都无法直接接触。能接触源码对于修补安全漏洞来说,也是非常重要的。一些开放源码的产品--包括上面列举的一些产品--是如此成功,以至于其商业竞争者无法存活。
缺点:
1、安装open-source软件有时需要一些更多的技术经验,例如,可以配置或编译源代码的能力。
2、许多的组织已经严重的依赖open-source软件。
3、出了问题,可能没有人负责,会遭受巨大的经济损失。
扩展资料:
开放源码软件和免费软件的区别
历史上许多人开发过这样一种软件(也就是免费软件基础)简称为“free software”,而媒介一般称它为“freeware”。不幸的是这两种术语都被证明是不明确的且含糊的。
对于大多数人来说“free”仅仅用于购买的费用。比这个初始花费更重要的是由于缺乏许可证限制而带来的费用。这些是几种有可能是免费的软件类型,但是明显不是open-source software,因为它们具有某些限制或是缺乏公开的源码。
百度百科—开放源代码软件
种网站流量变现的方法
网站盈利之道,多种变现方法,让流量化为财富。
流量是网站盈利的基础,但如何引导流量,创造价值才是关键。本文将深入探讨种网站流量变现的方法,助你实现从流量到财富的飞跃。
方法1:卖服务、卖技术
提供专业服务,如修改、设计制作、蓝图绘制等,根据客户的需求量身定制,实现服务变现。
方法2:卖友情链接、卖文章
出售网站链接位置,代发新闻稿等,吸引广告主关注,获取广告费用。
方法3:卖产品
销售自有产品或第三方产品,通过价格差赚取利润。
方法4:卖流量
将网站流量导给买家,按流量收费,实现流量变现。
方法5:收取会员费、资源下载费
提供源码站、培训资源,收取会员费或资源下载费,满足不同用户需求。
方法6:引流到线下活动
将线上流量引导至线下活动,收取场地费、活动经费等,增加收入来源。
方法7:知识付费变现
针对特定领域,提供专业知识服务,通过付费模式获取价值。
方法8:赞赏变现
增加赞赏功能,鼓励用户对有价值的信息进行赞赏,促进内容创作者的收益。
方法9:出售网站
将网站整体出售,实现一次性盈利。
方法:挂广告
接入广告联盟或私下接广告,根据广告类型(CPA、CPC、CPM、CPS等)获取收益。
在选择变现方式时,需考虑网站流量、用户特性及市场趋势。CPS模式因其相对灵活,受到不少网站站长的青睐。对于流量较小的网站,尝试APP推广,通过吸引用户下载安装APP,获取稳定收益。
总之,网站流量变现方式多样,关键在于找准目标用户,创新服务,实现流量与价值的双重转化。
的七夕,奉上7个精美的表白代码,同时教大家快速改源码自用
迎接年的七夕情人节,程序员们展现独特表白方式,不再只是言语,而是代码的深情。这里有七个精心打造的表白代码示例,教你如何快速自用,让你的表白更加别具一格。 在线版情人节粒子效果文字表白:点击屏幕,粒子文字动态变化,高级撩妹。只需在github.com/tsunghanjack/...找到`main.js`中的文字路径进行替换,即可个性化你的表白。 卡通滚动表白:通过漫画形式讲述爱情故事,触动心灵。改动源码中路径,/post-images/...,或直接使用在线版本,将生活点滴融入表白。 敲代码秀操作表白:修改前端css注释部分,适合对css有一定了解的人。编译命令在文档中提供,调整后在`dist`目录可见。 爱情故事代码:小白也能理解的表白,只需替换`/index.html`下的文字,展现你的深情。 时间进行时表白:漂浮爱心和时间显示,情感随秒跳动,主要改动文字内容。 满屏爱心表白:爱心飘动和表白文字,适合快速表白,只需获取源码。 爱情树表白:记录爱情历程,改动文字内容,动效和情话搭配,打动人心。 想要获取5、6、7的源码,关注微信公众号编程达人,回复“”。博主奇想派分享这些代码,带你展现程序员的独特浪漫。 原文作者:奇想派,更多编程达人的故事,尽在微信公众号编程达人。 原创提醒:你的赞赏是我们的动力,记得关注、点赞和转发哦!PyQt5系列教程():欢乐斗地主QMdiArea的使用
上期文章中,我们一起探讨了QTabWidget、QStackedWidget和QDockWidget的运用,通过这些工具,我们能够实现在一个窗口内集成更多的组件。本期,我们转向学习QMdiArea,一个强大的工具,它提供了一个展示MDI窗口的区域,类似于Windows在一个屏幕上同时维护多个应用程序窗口,也适用于在一个显示区域内管理多个文件窗口。
QMdiArea的功能类似于MDI窗口的窗口管理器。它绘制并管理它所包含的窗口,提供级联或平铺布局,通常作为QMainWindow的中心部件用于创建MDI应用,但也可以放置在任何布局中。通过将区域添加到主窗口,代码如下所示:
添加QMdiArea到主窗口的代码片段。
每个子窗口都是QMdiSubWindow实例,通过addSubWindow()函数添加到MDI区域。通常会传递QWidget作为内部窗口部件,或直接传递QMdiSubWindow。子窗口继承QWidget,支持与正常顶层窗口相同的API编程。
子窗口在获取键盘焦点或调用setFocus()时变为活动状态。用户通过常规方式移动焦点来激活窗口。MDI区域在活动窗口改变时发出subWindowActivated()信号,而activeSubWindow()函数返回当前活动子窗口。
subWindowList()函数返回所有子窗口的列表,可用于创建包含窗口列表的弹出式菜单。
子窗口按照当前窗口排序,用于subWindowList()、activateNextSubWindow()和activatePreviousSubWindow()。在使用cascadeSubWindows()和tileSubWindows()进行窗口级联或平铺时,此排序规则同样重要。
QMdiArea提供内置的布局策略cascadeSubWindows()和tileSubWindows()。这些功能轻松集成到菜单条目中,用于管理窗口布局。
详细信息请参考官方文档。
本期实验通过模拟发放扑克牌,具体步骤包括发1张牌、随机发放5张牌和收牌清空操作。我们通过自定义QLabel类,赋予每个对象随机的扑克牌素材,将每一个QLabel视为一个QWidget,借助QMdiArea的相关函数实现这一过程。
使用QMdiArea的一部分代码展示。代码量并不繁重。
为了在工具栏上实现不同功能的按钮,可以参考相关知识点。若希望在工具栏按钮上显示文字,需添加特定代码。
新建QMdiArea对象,设置为主窗口的中心部件。cardlist为包含扑克牌文件名的列表。发1张牌,从cardlist随机选取一个元素即可。随机发放5张牌,从cardlist中选取包含5个元素的随机子列表。
发1张牌的代码示例。随机获取扑克牌文件名。
QMdiSubWindow是QMdiArea提供的子窗口类,代表MDI区域中的顶级窗口,包含窗口标题栏、内部窗口部件等,视样式可能还包括窗口框架和尺寸夹点。
构建QMdiSubWindow最常用方法是使用内部窗口部件调用QMdiArea.addSubWindow()。也可以自行创建子窗口,通过setWidget()设置内部窗口部件。
与常规顶级窗口编程类似,您可以使用相同的API,如show()、hide()、showMaximized()和setWindowTitle()等函数。
在代码中,通过setWidget()将自定义的QLabel类Card作为内部窗口部件,并通过addSubWindow()添加子窗口。
子窗口通常有最小化、最大化和关闭按钮。显示的扑克牌通过设置setWindowFlags(Qt.WindowMinimizeButtonHint)来仅显示最小化按钮。同时调整窗口大小并显示。
发5张牌的函数与上述功能类似,不再赘述。
通过这个函数可以快速关闭所有子窗口。
收牌的函数实质上是对子窗口进行排列,以级联模式排列所有子窗口。
平铺模式排列所有子窗口的方法是QMdiArea.tileSubWindows(),有兴趣的读者可以尝试。
本次学习内容较为基础,详细实现请下载源代码自行探索。
文章至此,希望大家喜欢本篇文章。如果你觉得有帮助,请给我点赞、赞赏或分享给好友。关注微信公众号:学点编程吧,发送“pyqt”获取本期代码。加油!(ง •̀_•́)ง (*•̀ㅂ•́)
2024-11-30 23:48
2024-11-30 23:47
2024-11-30 22:31
2024-11-30 22:12
2024-11-30 22:09