皮皮网

【超炫网站源码】【pip下载源码】【libmcrypt 源码下载】qtabwidget控件源码_qt widget控件

时间:2024-12-24 01:57:31 来源:c语言dll源码

1.PyQt5系列教程(52):QDockWidget的控件控件使用
2.PyQt5系列教程(53):欢乐斗地主QMdiArea的使用
3.如何用Qt实现Ribbon风格?附源码

qtabwidget控件源码_qt widget控件

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

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

       1、源码QQ秀的控件控件呈现

       2、QStackedWidget类的源码使用

       今天我们一起来学习下QDockWidget类,这个类能够实现在窗口中放入多个小部件,控件控件而且还能移动哦!源码超炫网站源码!控件控件

       总体介绍

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

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

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

       外观

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

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

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

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

       类归属

       PyQt5->QtWidgets->QDockWidget

       继承关系

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

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

       小例子

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

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

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

       1、QDockWidget是可以拖动的、悬浮的、甚至是libmcrypt 源码下载关闭的。

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

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

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

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

       代码解析

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

       效果如下:

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

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

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

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

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

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

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

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

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

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

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

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

       效果如下:

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

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

       最后

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

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

       赞赏(推荐)

       分享给你的好友们吧!

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

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”获取本期代码。加油!(ง •̀_•́)ง (*•̀ㅂ•́)

如何用Qt实现Ribbon风格?附源码

       为在Qt中实现Ribbon风格进行探索,操作环境为win bit搭配VS更新至5版本和Qt5.6.0 bit。首选组件是Qt的widget和scrollArea。新创建的Qt程序中,将默认菜单栏和工具栏去除,以便为Ribbon风格定制空间。通过添加一个widget和一个scrollArea至UI界面,这两个控件布局采用垂直排列,进一步在widget内部放置了一个pushButton和TabWidget,其排列形式为水平方向。在scrollArea内部,同样采用水平排列方式放置widget。设计布局完成后,整体展现的界面结构符合Ribbon风格预期。

       在实现过程中,首先确定界面的布局边界设为0,同时间距设置为0,以优化视觉效果。对所有元素进行样式调整,按钮和TabWidget的文字进行了个性化修改。对scrollArea内部的widget背景颜色设定为白色,并指定一个适合宽度,随后调整scrollArea背景颜色,达到与整体风格一致的效果。

       要将左侧的文件菜单置于主界面之上,并确保其他标签向右顺序排列,通过按钮的绝对定位方法能够解决文件菜单的定位问题。然而,对于TabWidget的标签移动问题,借助QSS(CSS扩展)实现更高效的调整。具体代码编写用于执行这一操作。实现后,界面布局的各个元素位置得到精确调整。

       为了增强Ribbon风格的直观性,对按钮和Tabbar的样式进行细致设计,使界面更加美观和实用。在文件菜单实现阶段,直接应用QMenu进行菜单创建可能受限,而利用Qt提供的QWidgetAction来创建自定义菜单widget,并结合QSS进行个性化设计,提供了灵活的实现方法。通过编写适用于QWidgetAction的类并重写paintEvent函数,可以顺利应用QSS样式。对文件按钮菜单进行具体配置,以达到理想的功能效果。

       接下来,对Tabwidget内的groupBox通过QSS进行定制,以塑造更专业的外观与风格。随着对各个组件的逐步优化,界面呈现的美观与功能并重特点逐步显现。最终的界面设计融入了微软雅黑字体风格,对TabWidget背景色进行设定,并隐藏文件按钮菜单的小按钮,使界面在美观与功能性上达到和谐统一。

       通过以上步骤,已实现并展示了基于Qt实现Ribbon风格的完整过程与细节。包括界面布局、组件样式调整、功能性实现及最终美化等环节,旨在提供一种兼具美观与实用性,符合Ribbon风格要求的界面设计方法。

推荐资讯
消防产品真假难辨?浙江开展消防产品“质量安全守护在身边”主题活动

消防产品真假难辨?浙江开展消防产品“质量安全守护在身边”主题活动

ijk源码解析

ijk源码解析

tmux源码解析

tmux源码解析

源码安openssh

源码安openssh

路人站不穩緊抱路燈、吹垮鐵皮害2傷 凱米颱風重創高雄釀災

路人站不穩緊抱路燈、吹垮鐵皮害2傷 凱米颱風重創高雄釀災

uniapp影院源码

uniapp影院源码

copyright © 2016 powered by 皮皮网   sitemap