首页 > 其他分享 >Qt5.9 UI设计(四)——布局设计及自定义界面

Qt5.9 UI设计(四)——布局设计及自定义界面

时间:2023-04-16 15:59:13浏览次数:46  
标签:ControlTabWidget 控件 界面 Qt5.9 自定义 放置 UI ControlTreeWidget mainwindow

前言

前面我们已经创建了mainwindow ControlTabWidget ControlTreeWidget maintitlebar 4个UI几面,我们需要将其他三个UI放置到mainwindow显示,同时需要它们可以自适应的界面的大小缩放。这里会使用到水平布局和垂直布局方法。

(一)主界面布局设计

  1. 放置一个空的widget

  2. 将mainwindow主界面设置为垂直布局

  3. 添加一个horizontalLayout 放置到mainwindow
    这时,horizontalLayout 和第一步放置的widget将主界面上下分为两半

  4. 在 horizontalLayou 中在放置widget2 和 widget3,这时,widget2和widget3水平平分horizontalLayou 框

  5. 将widget,widget2,widget3分别命名为widgetTitle,widgetTree和widgetTab

  6. 要想widgetTitle与horizontalLayou不是垂直平分整个框,直接拖动是不行的,这里需要可以设置其中一方的最大尺寸,这里将widgetTitle的最大高度限定为50,得到如下效果图

  7. 与上面相同,将widgetTree的最大宽度限定为250,得到如下效果图

  8. 上面创建的是QT默认的Qwidget空间,要怎么与我们自定义的界面相关联呢?
    这里我们右键,选择提升为

  9. 设置类名ControlTabWidget和头文件路径,点击添加,如下图

  10. 如果添加成功,右键提升为可以看到我们自定义的界面ControlTabWidget ,ControlTreeWidget,MainTitleBar

  11. 最后,可以看到空间的类,已经变成了我们上一章自定义的类了

到这里,就已经将ControlTabWidget ControlTreeWidget maintitlebar 这三个界面布局到 mainwindow 一个界面上来了。

(二)maintitlebar 界面设计

  1. 这里设计两个label控件,一个用来显示LOGO,一个用来显示Title名字

    1. 放置三个按键在最右边,分别用作最大,最小和关闭的功能
    2. 中间放置的是一个horizontalSpacer,用来限定位置使用
  2. 将Label和按键的字符去掉,添加上LOGO图片

    1. 注意LOGO图片的放置,需要限定图片的最大值,不然图片放置不下
    2. 设置图片可以缩放

(三)ControlTreeWidget 界面设计

  1. 设置ControlTreeWidget 为垂直对齐,然后再放入一个treeWidget控件,如下图

  2. 右键编辑项目,添加不同的项

  3. 属性中插入图片,以及改变字体大小信息

  4. 同样的方式将其他几项全部设置好

(四)ControlTabWidget 界面设计

  1. 将ControlTabWidget主界面设置为水平布局,然后放置一个QTabWidget 控件

  2. 修改控件的名字以及每页的显示标题

总结

本章实现了 ControlTabWidget ControlTreeWidget maintitlebar 这三个界面布局到 mainwindow 一个界面上的功能。
这里只是界面的布局,因为各个控件的具体功能还未实现,暂时无法联动,并且样式也还未有设置,显示的还是系统默认的样式。

下面一章将介绍如何将 ControlTabWidgetControlTreeWidget 联动的功能
本章工程名字为:page_sample_02

完整工程下载地址,请到 liwen01 微信公众号中回复: QT 获取

---------------------------End---------------------------
长按识别二维码
关注 liwen01 公众号

标签:ControlTabWidget,控件,界面,Qt5.9,自定义,放置,UI,ControlTreeWidget,mainwindow
From: https://www.cnblogs.com/liwen01/p/17323335.html

相关文章

  • Qt5.9 UI设计(五)——将Tabwidget与treeWidget相互关联
    前言前面一章介绍了ControlTabWidgetControlTreeWidgetmaintitlebar三个子页面同时布局到mainwindow的方法,本章介绍如何将ControlTreeWidget与ControlTabWidget联动。(一)TabWidget子页面实现在maincontent目录下创建otaparatarnsmittelnettester五个目录,用来......
  • Qt5.9 UI设计(六)——TitleBar功能实现
    前言上一章介绍了ControlTreeWidget与ControlTabWidget联动的功能,这一章我们将实现自定义TitleBar的功能操作步骤修改按键图标最大和最小值右键按键图标,转到对应的槽函数中去对应的槽函数的实现如下:voidMainTitleBar::on_pushButtonMin_clicked(){if(pa......
  • Qt5.9 UI设计(七)——统一样式设计
    前言前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用。样式设计最终的显示效果如下图:操作步骤将stylesheet.qss样式文件添加进工程stylesheet.qss内容如下:/**********************MainWindowStyleSheet*******************/QMainWind......
  • Qt5.9 UI设计(一)——在win10系统上安装Qt5.9
    安装环境win10系统Qt5.9.0版本官方下载地址可以从官方网站获取:https://www.qt.io/zh-cn/现在的安装包跟以前的有些区别,加上网络比较慢,我这里演示的是Qt5.9.0版本的安装安装步骤直接双击qt-opensource-windows-x86-5.9.0.exe进行安装欢迎界面,直接点下一步登陆Qt账......
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级之上(六十一)
     Abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+e......
  • nginx自定义负载均衡及根据cpu运行自定义负载均衡
    转载请注明出处:1.nginx如何自定义负载均衡在Nginx中,可以通过配置文件自定义负载均衡策略。具体步骤如下:首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后端服务器列表,例如:upstreammyapp{serverbackend1.example.comweight=3;server......
  • uni-app:input的样式调整(hbuilderx 3.7.3)
    一,js代码:<template><view><inputclass="inputText"style="width:700rpx;height:76rpx;"v-model="mobile"placeholder="请输入手机号"></input>&l......
  • [MAUI]模仿微信“按住-说话”的交互实现
    @目录创建页面布局创建手势控件创建TalkBox创建动画拖拽物动画按钮激活动画TalkBox动画Layout动画项目地址.NETMAUI跨平台框架包含了识别平移手势的功能,在之前的博文[MAUI项目实战]手势控制音乐播放器(二):手势交互中利用此功能实现了pan-pit拖拽系统。简单来说就是拖拽物(pan......
  • 【记录帖】如何自定义博客园界面
    博客园美化教程大集合----极致个性化你的专属博客(超详细,看这篇就够了)博客园cnblogs:自定义页面风格博客园自定义样式......
  • Matlab:GUI基础
    GUI坐标轴只显示白色图框 ......