范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Qt5布局管理(一)QSplitter分割窗口类

  概述
  本文首先通过三个实例分别介绍Qt5的 分割窗口QSplitter类 、 停靠窗口QDockWidget类 、 堆栈窗体QStackedWidget类 ,然后介绍布局管理器的使用。
  最后通过一个综合实例介绍以上内容的综合应用。 分割窗口QSplitter类实例效果
  重要代码
  这个程序的所有代码都集中在main.cpp文件中:  1 #include   2 #include   3 #include   4 #include   5 int main(int argc, char *argv[])  6 {  7     QApplication a(argc, argv);  8     //ont::QFont(const QString & family, int pointSize = -1, int weight = -1, bool italic = false)  9     //第一个参数是字体族,第二个是字体尺寸,第三个是加粗系数,第四个是斜体设置 10     QFont font("ZYSong18030",12);//指定显示字体 11     a.setFont(font); 12  13     QSplitter *splitterMain; 14     QTextEdit *textleft; 15     QSplitter *splitterRight; 16     QTextEdit *textUp; 17     QTextEdit *textBottom; 18     splitterMain=new QSplitter(Qt::Horizontal,0);                   //Horizontal:水平的 19     textleft=new QTextEdit(QObject::tr("Left Widget"),splitterMain); 20     textleft->setAlignment(Qt::AlignCenter); 21     //右部分分割窗口 22     splitterRight=new QSplitter(Qt::Vertical,splitterMain);        //Vertical:垂直的 23     splitterRight->setOpaqueResize(false);                                    //Opaque:不透明的 24     textUp =new QTextEdit(QObject::tr("Top Widget"),splitterRight); 25     textUp->setAlignment(Qt::AlignCenter); 26     textBottom=new QTextEdit(QObject::tr("Bottom Widget"),splitterRight); 27     textBottom->setAlignment(Qt::AlignCenter); 28     splitterMain->setStretchFactor(0,1);                                      //Stretch Factor:拉伸系数 29     splitterMain->setWindowTitle(QObject::tr("Splitter")); 30     splitterMain->show(); 31  32     return a.exec(); 33 }代码笔记
  1.字体设置代码 1 QFont::QFont(const QString & family, int pointSize = -1, int weight = -1, bool italic = false)
  这是QFont对象的构造函数之一,第一个参数是字体族,第二个是字体尺寸,第三个是加粗系数,第四个是斜体设置。
  2.设置QTextEdit控件的父对象和段落对齐方式 1 textleft=new QTextEdit(QObject::tr("LeftWidget"),splitterMain); 2 textleft->setAlignment(Qt::AlignCenter);
  对于每个控件的构造函数,都会有一个默认为0的参数设置其父对象。
  而QTextEdit::setAlignment函数设置其段落对齐方式。
  3.初始化QSplitter控件的分割方向和其缩放风格 1 splitterRight=new QSplitter(Qt::Vertical,splitterMain); 2 splitterRight->setOpaqueResize(true)
  QSplitter类的构造函数第一个参数表示该分割窗口是水平分割还是垂直分割,第二个参数是其父对象。
  QSplitter的setOpaqueResize设置了分割窗口在缩放时的风格。 opaqueResize : bool  This property holds whether resizing is opaque.  The default resize behavior is style dependent (determined by the SH_Splitter_OpaqueResize style hint).  However, you can override it by calling setOpaqueResize()
  假设一个QSplitter对象中有两个窗口,当你调整中间的分割线的位置时,当该QSplitter对象的opaqueResize属性是false,
  那么会出现一个虚线表示调整后的分割线的位置,反之,则什么也没有。
  4. 设置QSplitter的伸缩因子 1 splitterMain->setStretchFactor(1,0);
  setStretchFactor( int index, int stretch )用于设定可伸缩控件。
  第一个参数指定要设置控件的序号(按插入顺序从0依次编号);第二个参数大于0时表示此控件为可伸缩控件。
  在上面的实例中,splitterMain对象中,共有两个控件:一个是左边的textleft控件,另一个是右边的splitterRight对象。那么上面的这行代码就表明,在整个窗口也就是splitterMain在缩放时,splitterRight对象会保持不伸缩状态。但是当我们去缩放的时候,发现两个分割窗口都发生了伸缩。我猜测是因为所有的控件都是默认伸缩的。
  这一点可以从下面的例子证明。
  修改上面的代码为: 1 splitterMain->setStretchFactor(0,1);
  意味着左边的textleft控件将是可伸缩的:
  继续修改代码: 1 splitterMain->setStretchFactor(1,1);
  意味着右边的splitterRight控件是可伸缩的:
  继续修改代码: 1 splitterMain->setStretchFactor(2,1);
  显然在splitterMain中是不存在index为2的控件的,但是窗口在缩放时还是体现出了两个控件都伸缩的特性。
  由此可以证明我的上述猜测是正确的。
  【领QT开发教程 学习资料,点击下方链接莬费领取  ,先码住不迷路~】
  点击这里:「链接」

惜败!乔治空砍459孤军奋斗,小卡无作为,快船迎新年开门黑!元旦!祝福大家新年快乐!北京时间2023年1月1日元旦,凌晨四点西部劲旅洛杉矶快船队迎来客场挑战东部劲敌步行者对决。此役快船队双核保罗乔治,科怀伦纳德共同出战,两大劲旅在全场比赛中今日绘本RAZlevelBCROWSONAWIREListening听绘本Reading读绘本Flashcard单词卡阅读目标可视化以理解文本因果描述提供的信息通过插图区分押韵词识别并产生押韵词认识和使用动词识别和使用高频词词汇高今日绘本RAZlevelBDropITListening听绘本Reading读绘本Flashcard单词卡阅读目标连接先前的知识理解文章识别文本中的字符和设置了解插图的重要性增强文字区分押韵词识别并产生押韵词认识和使用今日腊八节,无论贫富,3道开运菜记得吃,为新年开个好运今日腊八节,无论贫富,3道开运菜记得吃,为新年开个好运今天是腊八节,是腊月中一个重要节日,有腊八大如年的说法,早上要吃腊八粥,记住只能早上吃,不能过午,这是有讲究的。还要泡腊八蒜,老公月薪多少钱才能给我买得起特斯拉modelY老公工资才5000,就是看上了特斯拉modelY,算不算败家娘们?老公其实觉得随便买个代步车就可以了,15万以内,但是老婆觉得车是男人的面子,同时也是男人避风塘,男人的车,必须颜值魅族未来在何方,浅谈手机行业现状首先,我们先来谈谈当今手机市场形势。虽然苹果近几年来缺乏创新,统治地位有所松动。但仍旧是手机界的领头羊,风向标。吃掉大概手机市场75的营业利润和40的收入。苹果之所以那么畅销,是跟坦克俄服坏了,我成雷服了!2023年莱斯塔服有什么新打算?这就是现在的俄服坦克世界各位车长老爷们大家好啊,此前我提到了莱服,有很多朋友就不理解这是个什么服务器,而今天莱服的开发者们也谈到了他们打算在2023年为游戏做的事情。本期文章我就跟刹车之年,2022国内电竞产业年度总结上半年的封控,下半年的破防,2022年的中国电竞不是很好过。曾经以为电竞入亚EDG夺冠会成为国内电竞进入新一轮快车道的起点,但在今年,行业仿如踩了刹车。中国战队在王者荣耀世界冠军赛宝可梦大集结版号到手!MOBA形式的宝可梦对战你怎么看?万万没想到2022最后一周,宝可梦大集结国服成功拿到版号!鹅厂方面也是火速官宣自家游戏喜提版号的好消息,同时表示这款新作已在火热筹备阶段。实话说,宝可梦IP的MOBA游戏确实新颖,英雄联盟可以让你快速上分的十个小技巧一不要玩ad钻石之下最好不玩ad,现在大多数黄金白银包括铂金的下路都很畸形,你不会知道你的辅助是不是补位过来的,很多人会选择光辉火男之类的辅助,不能说这些辅助弱,但前期打不出优势,未成年人禁止服用诺氟沙星近日,一张关于XBB。1。5毒株在美国登顶,大家要囤点蒙脱石散整肠生诺氟沙星的截图在网络流传,不少药物一度脱销,家有孩子需要准备什么?此前,国家药监局官网建议每个家庭都应该专门为孩
技惊四座!41岁罗纳尔迪尼奥上演帽子戏法,挑射破门引回忆被称为足球精灵的罗纳尔迪尼奥虽然已经退役多年,但是他的技术功底非常深厚。近日,小罗在一场足球友谊赛中上演了帽子戏法,其中一记挑射破门更是技惊四座。这场友谊赛在巴西的贝利球场举行,4Artsy藏家问答有关收藏方式的11个问题PortraitofNikeOpadiranCourtesyofNikeOpadiran对于律师NikeOpadiran来说,收集新兴黑人艺术家的作品是在家里创造一个更加充满正面性奥迪Q4etron成功首秀,纯电车的安心之选自从新能源电动汽车普及后,给人们的出行生活带来了很大改变,购买新能源车辆可以免交车辆购置税,也无需排队摇号,并且还能得到响应国家购车补贴。对此,不仅仅是众多家庭的福音,同样也促进了造AK47的生产商要造电动车了来源环球时报新媒体全球最著名的军火商之一生产AK47及其系列自动步枪的卡拉什尼科夫集团最近向俄罗斯专利局提交了卡拉什尼科夫IzhUV4电动汽车的专利图片,以图进军现在如火如荼的新能AG超玩会被RW侠爆冷,止步败者组第一轮,常规赛的控分成了笑话AG超玩会在秋季赛之前,定下了保二争四的目标,按照AG超玩会之前的成绩来看,这个目标其实并不高,毕竟AG超玩会在回归KPL联赛之后,一直都处在联赛第一档的水平,而且在转会期中,AGEpic免费送黎明杀机!对不起Steam我爱的是Epic喜加一!Epic平台12月02日免费赠送DeadbyDaylightwhileTruelearn()黎明杀机(DeadbyDaylight)是一款富有创意的恐怖竞争游戏,它在两种截LOL手游最容易被忽视的强势打野?斗鱼灵药龙女非常适合新手要说起英雄联盟手游中最热门的上分位置的话,自然就是打野这个位置了。一个好的打野不仅可以成功帮助队友们起飞,同时在自身发育好的情况下还能够Carry全场。不过,要提起英雄联盟手游中最腾讯START云游戏与TCL达成首次企业合作为玩家打造极致游戏体验11月29日,TCL与腾讯START云游戏联合实验室成立仪式在深圳举行。TCL实业泛智屏BU副总经理陈展园TCL实业软件工程中心总经理王凌晨腾讯START云游戏总经理杨卫腾讯STA咱们村里的那些球事儿(十)咱们村里的那些球事儿(十)赛翁赶场记记得刚刚和群主老许抱怨在职的职工运动会,因为退休了没资格打老年乒协组织的比赛,说我年龄不够不给打裁判员比赛,我没有裁判证不给参赛科协杯比赛,我不热血传奇解析法师核心技能,走上最强道路法师是一个技能众多的职业,因此吸引了很多玩家选择法师作为自己的职业,但是法师的技能虽然多,但是如果我们没有真正了解过法师的技能,那么即使你选择了法师,技能也不能得到很好的提升。法师波尔对话伊藤美诚,都说了什么?波尔对话伊藤美诚(上)伊藤美诚我该叫你哥还是叫你叔?波尔比你大那么多,还是叫叔吧!伊藤叔,你怎么不参加新加坡那个WTT世界杯总决赛?波尔有伤去不了。伊藤哪儿有伤?波尔身心都有。伊藤