保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

C界面开发框架Qt6。x入门指南QtWidget布局管理(四

  Qt布局系统提供了一种简单而强大的方式来自动排列小部件内的子小部件,以确保它们充分利用可用空间。
  Qt跨平台的C图形用户界面库,最新版免费下载,在线文档,视频教程,Qt正版购买慧都网手动布局
  如果您正在制作独一无二的特殊布局,还可以制作如前几篇文章所述的自定义小部件,重新实现QWidget::resizeEvent()来计算所需的尺寸分布并在每个子集上调用setGeometry()。
  当需要重新计算布局时,小部件将获得QEvent::LayoutRequest类型的事件,重新实现QWidget::event()来处理QEvent::LayoutRequest事件。如何编写自定义布局管理器
  手动布局的替代方法是通过继承QLayout来编写自己的布局管理器,边框布局和流布局示例展示了如何执行此操作。
  这里我们详细介绍一个例子。CardLayout类的灵感来自同名的Java布局管理器,它将项目(小部件或嵌套布局)放在彼此的顶部,每个项目由QLayout::spacing()偏移。
  要编写自己的布局类,您必须定义以下内容:存储布局处理的项目的数据结构,每个项目都是一个QLayoutItem,我们将在本例中使用QList。addItem(),如何将项目添加到布局。setGeometry(),如何执行布局。sizeHint(),布局的首选大小。itemAt(),如何迭代布局。takeAt(),如何从布局中删除项目。
  在大多数情况下,您还将实现minimumSize()。
  HeaderFile(card。h)ifndefCARDHdefineCARDHincludeQtWidgetsincludeQListclassCardLayout:publicQLayout{public:CardLayout(intspacing):QLayout(){setSpacing(spacing);}CardLayout(intspacing,QWidgetparent):QLayout(parent){setSpacing(spacing);}CardLayout();voidaddItem(QLayoutItemitem)override;QSizesizeHint()constoverride;QSizeminimumSize()constoverride;intcount()constoverride;QLayoutItemitemAt(int)constoverride;QLayoutItemtakeAt(int)override;voidsetGeometry(constQRectrect)override;private:QListQLayoutItemmitems;};endif
  ImplementationFile(card。cpp)includecard。h
  首先我们定义count()来获取列表中的项目数。intCardLayout::count()const{QList::size()returnsthenumberofQLayoutItemsinmitemsreturnmitems。size();}
  然后我们定义了两个遍历布局的函数:itemAt()和takeAt()。布局系统内部使用这些函数来处理小部件的删除,它们也可供应用程序程序员使用。
  itemAt()返回给定索引处的项目,takeAt()删除给定索引处的项目,并将其返回。在这种情况下,我们使用列表索引作为布局索引。在我们有更复杂的数据结构的其他情况下,可能需要花费更多的精力来定义项目的线性顺序。QLayoutItemCardLayout::itemAt(intidx)const{QList::value()performsindexchecking,andreturnsnullptrifweareoutsidethevalidrangereturnmitems。value(idx);}QLayoutItemCardLayout::takeAt(intidx){QList::takedoesnotdoindexcheckingreturnidx0idxmitems。size()?mitems。takeAt(idx):0;}
  addItem()实现布局项的默认放置策略,必须实现此功能。它由QLayout::add()使用,由将布局作为父级的QLayout构造函数使用。如果您的布局具有需要参数的高级放置选项,则必须提供额外的访问函数,例如QGridLayout::addItem()、QGridLayout::addWidget()和QGridLayout::addLayout()的跨行和跨列重载。voidCardLayout::addItem(QLayoutItemitem){mitems。append(item);}
  布局接管添加的项目的责任,由于QLayoutItem不继承QObject,我们必须手动删除项目。在析构函数中,使用takeAt()从列表中删除每个项目,然后将其删除。CardLayout::CardLayout(){QLayoutItemitem;while((itemtakeAt(0)))deleteitem;}
  setGeometry()函数实际上执行布局,作为参数提供的矩形不包括margin()。如果相关,请使用spacing()作为项目之间的距离。voidCardLayout::setGeometry(constQRectr){QLayout::setGeometry(r);if(mitems。size()0)return;intwr。width()(mitems。count()1)spacing();inthr。height()(mitems。count()1)spacing();inti0;while(imitems。size()){QLayoutItemomitems。at(i);QRectgeom(r。x()ispacing(),r。y()ispacing(),w,h);osetGeometry(geom);i;}}
  sizeHint()和minimumSize()在实现上通常非常相似,两个函数返回的尺寸都应该包括spacing(),但不包括margin()。QSizeCardLayout::sizeHint()const{QSizes(0,0);intnmitems。count();if(n0)sQSize(100,70);startwithanicedefaultsizeinti0;while(in){QLayoutItemomitems。at(i);ss。expandedTo(osizeHint());i;}returnsnQSize(spacing(),spacing());}QSizeCardLayout::minimumSize()const{QSizes(0,0);intnmitems。count();inti0;while(in){QLayoutItemomitems。at(i);ss。expandedTo(ominimumSize());i;}returnsnQSize(spacing(),spacing());}Qt商用组件推荐QtitanRibbonRibbonUI组件:是一款遵循MicrosoftRibbonUIParadigmforQt技术的RibbonUI组件,QtitanRibbon致力于为Windows、Linux和MacOSX提供功能完整的Ribbon组件。QtitanChartQt类图表组件:是一个C库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。QtitanDataGridQt网格组件:提供了一套完整的标准QTableView函数和传统组件无法实现的独特功能。使您能够将不同来源的各类数据加载到一个快速、灵活且功能强大的可编辑网格中,支持排序、分组、报告、创建带状列、拖放按钮和许多其他方便的功能。QtitanNavigation:QtitanNavigationDesignUI组件是一组GUI控件,它实现了菜单、导航框、命令栏等导航界面,并让您以更少的滚动和点击次数有效地查看所有实体(工作区、网格或其他项目)。QtitanDocking:允许您像VisualStudio一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持VisualStudio2019主题!

春节好段好句春节的优美句子除夕守岁,一家人开怀畅饮,团圆取乐,共祝新年。宋代席振起在《守岁》诗中云:相邀守岁阿咸家,蜡炬传红映碧纱。三十六岁都浪过,偏从此夜惜年华。岁尾年初,家家爆竹,户户焰火,不……初二回首经过又一个365天的历练,我已经走过初二,即将迈进初三的门槛。而这初二的一年,似乎波澜不惊,却也涟漪微荡。初二上学期,我的成绩出奇的不稳定,让人摸不着头脑。前两次考试排名……我们应当爱国亲爱的老师、同学们:大家好!今天我为大家演讲的题目是《我们应当爱国》。我们伟大的祖国是一个幅员辽阔、山河壮丽、土地肥沃、物产丰富的国家,她像一位巨人,屹立在世界的东……精华有关初中校园生活作文400字合集五篇在学习、工作、生活中,大家最不陌生的就是作文了吧,借助作文可以提高我们的语言组织能力。你写作文时总是无从下笔?下面是小编收集整理的有关初中校园生活作文400字5篇,供大家参考借……爷爷的爱作文12篇爷爷长着一副古铜色的脸孔,一双铜铃般的眼睛,尖尖的下巴上,飘着一缕山羊胡须。下面是小编整理的爷爷的爱作文,希望对大家有帮助!爷爷的爱作文篇1我真是个幸运的宝宝。出生一来就……除夕400字作文导语:除夕快到了,家家户户都在办年货、烧菜肴,准备过一个愉快的春节,下面由小编为您整理出的除夕400字作文内容,一起来看看吧。除夕400字作文1这是一年的最后一夜除夕之夜……请为我点个赞也许很多年以后,回忆起这段时光,仍然会忍不住为它点赞。2012年的九月,骄阳下稚气未脱的我们走在一起,偶尔吵架,放肆大笑,欢脱的奔跑,张扬低调。也许是那个时候,命运……合身的衣服童话作文在日常学习、工作和生活中,大家都跟作文打过交道吧,作文是一种言语活动,具有高度的综合性和创造性。那么一般作文是怎么写的呢?下面是小编帮大家整理的合身的衣服童话作文,欢迎大家分享……圣诞节文化英语作文圣诞节是一个宗教节,因为把它当作耶稣的诞辰来庆祝,故名耶诞节。下面就是小编整理的圣诞节文化英语作文,一起来看一下吧。圣诞节文化英语作文篇一Christmasisthemo……拥有闽南民俗风情的作文闽南即指福建的南部,从地域和文化等多方面来说,闽南包括厦门、漳州、泉州、龙岩地区新罗和福建漳平、福建大田和尤溪的部分地区。拥有闽南民俗风情的作文有哪些?以下是小编为您整理的相关……400字活动小学作文20xx年xx月xx日,崇文实验学校一年一度的艺术节沙龙活动又开始了,这次我参加的沙龙是太极艺术。这次太极艺术请来了一位崇文同学的爷爷刘建平爷爷,他算是位大师了。有大师助阵,沙……科技发展的双面性作文现代科学技术极大地推动了社会生产力的发展,使人类走向知识经济时代。但同时科学技术的发展也给人类造成了巨大的灾难,让我们的自然环境遭到了不可挽回的破坏,人类的身体健康甚至是生命都……
冠军说读后感600字能承受才能享受一次偶然的机会,我读到了一篇文章mdash;mdash;《冠军说》,里面讲了一个体育教练和朋友谈论冠军应该有什么素质。读后,我感慨万分,因为其中的一句话ld……感谢您放开我的手作文放手能让我们更好地成长,我们能更好地展翅飞翔。所以,要感谢放开我们手的父母。感谢您放开我的手作文感谢您,在我成长的路上,放开我的手,让我学会勇敢与努力。小时候……听力下降,特别是打电话,配什么样的助听器可以解决打电话的问题您好,起码要带有自动电话的功能,这样才可以解决您的首要问题。你可以到专业验配中心去咨询验配师、验配师详细了解您的需求会给您推荐适合你的机子,之后你可以直接试戴、体验效果。……注射一针癌症疫苗,就能杀死一个人身上所有的癌细胞,这种理想离在今年1月份,国家癌症中心发布了最新一期的全国癌症统计数据,全国恶性肿瘤人口数新增392。7万人,也就是平均一天有超过1万人被确诊为癌症。300多万人对我国庞大的人口基数……如果中子星上一块体积为1立方厘米的物质软着陆到地球,会发生什中子星是大质量恒星(830倍)在核聚变燃料耗尽后的产物。当恒星核心处的核聚变反应进行到铁时,由于铁的核聚变反应会吸收大量热量,这导致恒星核心的冷却。这时,核心处的辐射压再也抵挡……宽带,猫,路由器的关系是什么?很高兴能够看到和回答这个问题,作为一个科技爱好者,我简单地回答一下这个问题!首先,我觉得这是一个非常好的问题,也是很多小白用户困惑之处,下面我将根据自己的经验认真回答这个……二年级写景的作文荷花直至夕阳亲吻到西山的时候,我才记起我不是荷花,而是我。眼前的景色太美了,如果它看做一大幅活的画,那画家的本领可真了不起。以下内容是小编为您精心整理的二年级写景的作文荷花,欢迎参……2021年中芯国际能造出5nm芯片吗?中芯国际大概想在2021年就生产5纳米芯片,大概只有以下几个办法了:一、自己开发出一套不用EUV光刻机,而是利用现有设备就能够生产5纳米的工艺流程,实现弯道超车!按现在全……出货量第一,连续五季高居市场首位,vivo能否登顶中国手机市感谢您的阅读!【出货量第一,连续五季高居市场首位,vivo能否登顶中国手机市场?】我们现在和大家一起来看几个数据,这样我们可以了解目前vivo在整体的国内手机销量以……在武汉跑代驾,收入如何?还好吧。这要来做专职还是兼职?有人做代驾是偶然原因:是有一次在郊区打车回家一直打不到车,结果一个代驾司机开了个共享汽车回家路过看到我就顺路带我回家了。1自己接……TCL海信创维电视哪个好?TCL、创维电视我不了解,给您简单介绍一下海信电视,海信液晶电视的技术和性能一直保持在同行业领先地位,多年来,液晶电视机的销量也一直保持全国第一位,产品质量稳定可靠,多次获得国……摩托罗拉推出Edge20与Edge20Lite商务版机型在MotoE20Pro之后,摩托罗拉又将Edge20和Edge20Lite添加到了该公司的商务智能机列表中。在相同硬件的基础上,商务机还拥有改进的安全功能。其中一些特性,也已经……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网