首页
学习
活动
专区
圈层
工具
发布

【从零开始的Qt开发指南】(十四)Qt 窗口之“三剑客”:工具栏、状态栏、浮动窗口进阶实战指南

二、工具栏(QToolBar):快捷操作的 “加速器” 工具栏是应用程序中高频功能的快捷入口,通常以图标按钮的形式呈现,支持拖拽移动、浮动显示等特性。...建议根据功能需求合理配置:核心功能工具栏可禁止移动,辅助功能工具栏可允许移动和浮动。...灵活停靠:可停靠在中央部件的上、下、左、右四个方向,支持组合停靠。 浮动功能:可从主窗口分离,以独立窗口形式存在,支持拖拽移动。 嵌套支持:多个浮动窗口可停靠在同一区域,形成标签页式布局。...工具栏中的对应按钮也可实现同样功能,实现多入口控制。 4.3.3 禁止浮动窗口关闭 默认情况下,浮动窗口标题栏有关闭按钮,用户可关闭窗口。...浮动窗口:按功能分组,同一类功能的面板可合并为标签页;提供显示 / 隐藏切换,满足不同用户的布局需求。

42620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt编写数据可视化大屏界面电子看板1-布局方案

    一、前言 布局方案在整个数据可视化大屏界面电子看板系统中,是除了基础功能以外的核心功能之一,只有具备了布局方案这个功能,才能让用户随意调整自己想要的布局,保存成自定义名称的布局配置文件,这样就大大增加了灵活性...三、功能特点 整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。...二级界面可以自由拖动悬浮,支持最小化最大化关闭,响应双击自定义标题栏。 数据源支持数据库采集(默认)、网络通信、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。...可分别设置各种字体大小,比如全局+软件名称+标题栏+子标题栏+加粗标签等。 可设置标题栏高度+表头高度+行高度。...在模块的标题栏上右键可以弹出默认的dock菜单,用来显示和隐藏各模块。 软件关闭过程中会自动保存布局,下次启动以后自动应用。

    2.2K00

    Qt编写数据可视化大屏界面电子看板6-窗体打开关闭

    一、前言 二级窗体的打开与关闭,这个功能也很有必要,由于整个系统中各种模块数量窗体数量比较多,后期可能还会增加更多,在4K屏幕上可以显示很多的模块,但是有时候有些模块不想显示出来,就需要将该模块关闭掉,...直接在二级窗体的标题栏上增加关闭按钮,可能会影响整体的布局,此时提供鼠标右键菜单来控制各个模块的开关,就非常爽了,QDockWidget上场,QMainWindow类中如果有Dock类,则会自动生成右键菜单...,不得不说Qt在这个功能点上是下足了功夫,封装的非常好非常棒顶呱呱!...三、功能特点 整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。...二级界面可以自由拖动悬浮,支持最小化最大化关闭,响应双击自定义标题栏。 数据源支持数据库采集(默认)、网络通信、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。

    1.3K50

    弹出层之1:JQuery.Boxy (二)

    getSize() 以数组的形式[width, height]返回对话框的大小。 getContentSize() 返回对话框内容区域的大小。默认情况下,指在对话框框架里的一切,不包括标题栏。...getPosition() 以[x,y]数组形式返回最顶层对话框的左上角坐标。 getCenter() 以[x,y]数组形式返回最顶层对话框的中心点的坐标。...getInner() 返回一个jQuery对象包装对话框的内部区域-框架内包括标题栏一切。 getContent() 返回一个jQuery对象包装对话框的内容区域-框架内的一切,不包括标题栏。...可链接。 getTitle() 以HTML的形式返回对话框的标题。 setTitle(t) 设置对话框的标题为t,可链接。....title-bar.dragging 拖拽时候的标题栏 .boxy-wrapper .title-bar .close 默认的关闭对话框的执行器 .boxy-inner 内部区域,包括标题栏 .boxy-content

    5.7K20

    Qt编写数据可视化大屏界面电子看板8-调整间距

    一、前言 在数据可视化大屏界面电子看板系统中,前期为了使用目标客户机,调整间距是必不可少的工作,QMainWindow中的QDockWidget,会默认生成布局和QSplitter调整宽高大小,鼠标移动到模块之间的缝隙处...三、功能特点 整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。...二级界面可以自由拖动悬浮,支持最小化最大化关闭,响应双击自定义标题栏。 数据源支持数据库采集(默认)、网络通信、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。...可分别设置各种字体大小,比如全局+软件名称+标题栏+子标题栏+加粗标签等。 可设置标题栏高度+表头高度+行高度。...在模块的标题栏上右键可以弹出默认的dock菜单,用来显示和隐藏各模块。 软件关闭过程中会自动保存布局,下次启动以后自动应用。

    1.5K30

    Qt 学习记录

    Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。...->返回值类型,标识函数返回值的类型,当返回值为void,或者函数体中只有一处 return 的地方(此时编译器可以自动推断出返回值类型)时,这部分可以省略。...位于主窗口顶部、主窗口标题栏下面。...QIODevice::Append: 以添加模式打开,新写入文件的数据添加到文件尾部。 QIODevice::Truncate: 以截取方式打开文件,文件原有的内容全部被删除。...baseName() 可以直接获得文件名; completeBaseName() 获取完整的文件名 suffix() 则直接获取文件后缀名。

    8.2K50

    WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWPChrome)

    窗口的位置和尺寸 你需要自己实现一套窗口的拖拽调整位置功能,需要自己实现一套拖拽调整大小的功能。而自己实现的方式在触摸屏下还很容易出现失效的情况。...甚至拖拽调整窗口大小时的光标热区也是类似的: ? ▲ 拖拽光标热区 唯一不符合要求的是标题栏高度,这时我们可以继续设置 GlassFrameThickness,把顶部设置得更高一些。...▲ 可定制的客户区 特别注意:可定制区域中顶部是包含那 1 像素的边距的,但其他三边不包含。...关于自绘标题栏按钮以模拟 UWP 原生按钮,可以阅读我的另一篇文章(代码太长,还是分开了好):WPF 应用完全模拟 UWP 的标题栏按钮。...如果你正在使用 UWP 开发应用,可参考林德熙的博客 win10 uwp 标题栏 来定制标题栏。

    7.9K20

    【C#】组件分享:FormDragger窗体拖拽器

    适用:.net2.0+ winform项目 介绍: 类似QQ、迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随性度或更甚...可拖拽的地方包括不限于: 窗体、Panel、GroupBox、TabControl等容器控件的空白区; 菜单栏、工具栏、状态栏等bar的空白区,以及无效项目; Label、PictureBox、ProgressBar...EnabledChanged; 使用挺简单,随时随地FormDragger.Enabled = true/false就能开闭拖拽功能,比如在Main函数中就可以开好,完了程序内的所有自建窗体就可以愉快的拖拽了...对于适用拖拽规则的控件,鼠标左键点击消息(如MouseDown)是到不了它的,因为被拦截了,所以注册了这类事件也不会触发,若希望某个可拖控件不被拖到,例如某个图片框,你希望它具备“超链”的功能,点上去时执行注册好的...原理: 利用Application.AddMessageFilter向程序加入消息过滤器,拦截并处理发往程序窗体的鼠标左键单击消息,若满足逻辑,则拦下该消息,并往控件所在的窗体发送点击标题栏的消息,达到点击该控件时系统认为是点到窗体标题栏的效果

    1.8K20

    WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)

    " WindowChrome.GlassFrameThickness="-1" 或设置为其他较大的正数(可自行尝试设置之后的效果) 如下就是一个最简单的例子,最关键的三个属性我已经高亮标记出来了。...不过窗口的标题栏拖动功能依然保留了下来,标题栏上的右键菜单也是可以继续使用的。...方案 WindowChrome AllowsTransparency 拖拽标题栏移动窗口 保留 自行实现 最小化最大化关闭按钮 丢失 丢失 拖拽边缘调整窗口大小 丢失 丢失 移动窗口到顶部可最大化 丢失...自行实现 拖拽最大化窗口标题栏还原窗口 保留 自行实现 移动窗口到屏幕两边可侧边停靠 丢失 自行实现 拖拽摇动窗口以最小化其他窗口 保留 自行实现 窗口打开/关闭/最小化/最大化/还原动画 丢失 丢失...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    2.8K20

    145. 可选择列表基础篇

    本教程将详细讲解如何在HarmonyOS NEXT中实现一个功能完善的可选择列表,以文件管理应用为例,展示如何创建、管理和操作可选择列表。...一、可选择列表概述可选择列表是List组件的一种特殊应用场景,它具有以下特点:多选功能:允许用户同时选择多个列表项选择模式切换:可以在普通浏览模式和选择模式之间切换批量操作:对选中的项目执行批量操作,如删除...标题栏实现标题栏会根据当前是否处于选择模式显示不同的内容:Row() { if (this.isSelectMode) { // 选择模式下的标题栏 Image($r(...ListItem在选择模式下显示Checkbox,并绑定选择状态和变更事件根据文件是否被选中,设置不同的背景色以提供视觉反馈使用multiSelectable属性启用List的多选功能设置分割线样式,并根据是否处于选择模式调整起始边距...在进阶篇中,我们将探讨如何增强可选择列表的功能,如拖拽排序、搜索过滤、分类显示等高级特性。

    38500

    WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWPChrome)

    窗口的位置和尺寸 你需要自己实现一套窗口的拖拽调整位置功能,需要自己实现一套拖拽调整大小的功能。而自己实现的方式在触摸屏下还很容易出现失效的情况。...甚至拖拽调整窗口大小时的光标热区也是类似的: ▲ 拖拽光标热区 唯一不符合要求的是标题栏高度,这时我们可以继续设置 GlassFrameThickness,把顶部设置得更高一些。...在按照以上的方式设置了 WindowChrome 之后,我们能够定制的客户区已经有下图所示的这么多了: ▲ 可定制的客户区 特别注意:可定制区域中顶部是包含那 1 像素的边距的,但其他三边不包含。...关于自绘标题栏按钮以模拟 UWP 原生按钮,可以阅读我的另一篇文章(代码太长,还是分开了好):WPF 应用完全模拟 UWP 的标题栏按钮。...如果你正在使用 UWP 开发应用,可参考林德熙的博客 win10 uwp 标题栏 来定制标题栏。

    4.7K60

    教你 5 分钟用 AI 开发一个产品官网(无需编码)

    有些不用的页面布局,选中直接删除即可,如:页面顶部黑色的标题栏。 可以看到有个「了解更多」按钮,如何给按钮添加点击事件?...路由方式:新窗口打开 新增一个自定义模块可以拖拽【AI代码块】组件到你想要添加到位置,如:拖拽到了「了解更多」模块的下面。...,能够体现产品的功能特色,文案也要精炼和有趣,不要使用 frame-motion 的包来实现动画效果,底色为白色,配合的色调能搭配主题色,功能特性的参考信息(文本和图片可参考) ## 智能识别热量...copilot-application"].create({ data: { name: "文本", // 联系人 tel: "13112345678", // 联系电话 } }); // 返回创建的数据...确认效果和功能无误后点击右上角发布即可获得在线访问链接和二维码。 最后 希望大家能跟上AI时代的步伐,用AI编程助手属于自己的产品官网,有问题欢迎留言讨论。

    54510

    【QT】Qt 窗口 (QMainWindow)

    如下图为 QMainwindow 中 各组件所处的位置: 一、菜单栏 Qt 中的菜单栏是通过 QMenuBar 这个类来实现的。⼀个主窗口最多只有⼀个菜单栏。位于主窗口顶部、主窗⼝标题栏下面。...可以有多个,也可以没有,它并不是应⽤程序中必须存在的组件。它是⼀个可移动的组件,它的元素可以是各种窗⼝组件,它的元素通常以图标按钮的⽅式存在。如下图为⼯具栏的⽰意图: 1....浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围,可以有多个。 1....浮动窗口的创建 浮动窗⼝的创建是通过 QDockWidget类 提供的构造⽅法 QDockWidget()函数 动态创建的;示例如下: MainWindow::MainWindow(QWidget...,对话框的⽣成和销毁具有⾮模态对话框属性,功能上具有模态对话框的属性。

    2.1K10

    教你 5 分钟用 AI 开发一个产品官网(无需编码)

    有些不用的页面布局,选中直接删除即可,如:页面顶部黑色的标题栏。可以看到有个「了解更多」按钮,如何给按钮添加点击事件?...:新窗口打开新增一个自定义模块可以拖拽【AI代码块】组件到你想要添加到位置,如:拖拽到了「了解更多」模块的下面。...能够体现产品的功能特色,文案也要精炼和有趣,不要使用 frame-motion 的包来实现动画效果,底色为白色,配合的色调能搭配主题色,功能特性的参考信息(文本和图片可参考)## 智能识别热量AI饮食记录智能助手可以通过一句话...copilot-application"].create({ data: { name: "文本", // 联系人 tel: "13112345678", // 联系电话 }});// 返回创建的数据...确认效果和功能无误后点击右上角发布即可获得在线访问链接和二维码。最后希望大家能跟上AI时代的步伐,用AI编程助手属于自己的产品官网,有问题欢迎留言讨论。

    1.1K10

    qtabwidget切换tab_qt tablewidget

    页签只能拖拽交换顺序,没有把Tab页拖入拖出的功能,我们可以通过继承QTabBar重新实现部分接口来实现这个功能。...(1.目前这种方式效果不理想,太生硬了,没有浏览器Tab拖拽那种流畅的感觉,后期修改的话可能需要实时判断位置,而不是鼠标释放时才去处理;2.没有很好的利用Qt的drag drop事件接口,后期可以尝试下...drag_tab||fixedPage.contains(drag_tab)) return; //把当前页作为快照拖拽 //尺寸加了标题栏和边框 QPixmap pixmap(drag_tab->size...//但是没法获取默认标题栏的图像啊,就随便画一个矩形框 //如果设置了外部主题颜色,需要改下 QRect title_rect{0,0,pixmap.width(),30}; painter.fillRect...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.2K10

    1小时搞定卡片拖拽、自动排列交换位置、拖拽数据存取

    支持组件的样式和内容自定义 ? 这是这次系列文章的第一篇,我自己封装了一个用vue实现的拖拽排列卡片组件,并且发布到npm,详细地记录下来了整体制作过程。...Slot(插槽) 首先先介绍一下,卡片内容分为上下两部分: 上部分为卡片的标题栏,并且拖拽事件只有点击上部分才触发 下部分为卡片的内容 两个部分都是可以进行自定义内容及样式的。...为从子组件返回的数据,及data数组里面的每一个对象数据--> 的是vue的动态组件功能动态渲染组件,可传入更多属性至子组件 --> //省略部分代码,加载你的组件 import exampleChild1...,可使用两个我定义好的Props animationState:{ 类型:Boolean, 功能:首次加载卡片的时候为true,之后为false,便于在首次加载卡片时显示动画。

    5.2K22

    Qt编写控件属性设计器6-动态属性

    一、前言 之前就提过,Qt的属性机制强大到爆,这次的动态属性功能就是要让他爆,很难想象只要一行代码即可widget->setProperty("value", value);没错就这么简单,调用弱属性机制...->setText("hello"); 体验地址:https://pan.baidu.com/s/1A5Gd77kExm8Co5ckT51vvQ 提取码:877p 文件:可执行文件.zip 二、实现的功能...控件支持八个方位拉动调整大小,自适应任意分辨率,可键盘上下左右微调位置。 打通了串口采集、网络采集、数据库采集三种方式设置数据。 代码极其精简,注释非常详细,可以作为组态的雏形,自行拓展更多的功能。...::DockWidgetMovable | QDockWidget::DockWidgetFloatable); ui->dockWidgetData->setFeatures(QDockWidget...远超qwt集成的控件数量。 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。

    2.5K00

    181.HarmonyOS NEXT系列教程之列表交换组件整体架构详解

    组件概述1.1 功能介绍ListExchangeViewComponent是一个支持列表项交换和删除的自定义组件,主要用于实现如扣款列表等场景。...主要功能包括:列表项拖拽排序滑动删除自定义列表项样式平滑的动画效果1.2 核心依赖// 导入相关依赖import { ListInfo } from '../.....布局实现4.1 整体布局Column() { // 标题栏 Row() { ... } // 列表交换视图 ListExchange({ ... })}.height('...小结本篇教程详细介绍了:组件的整体架构设计核心功能的实现方式布局系统的构建开发流程和最佳实践这些内容帮助你理解ListExchangeViewComponent的基础架构。...下一篇将详细介绍列表数据管理和状态控制的实现。

    17600

    Qt Designer基本控件介绍——Containers(容器)

    setWidget(): 设置控件为QScrollArea的子控件; takeWidget():删除QScrollArea的子控件; widget(): 返回QScrollArea的子控件; setWidgetResizable...常用方法: addTab(): 添加一个标签; insertTab(): 在指定位置插入一个标签; removeTab(): 删除指定索引的标签; setTabText(): 设置指定索引标签的文本信息...; tabText(): 获得指定索引标签的文本信息; setTabIcon(): 设置指定索引标签的图标; tabIcon(): 获得指定索引标签的图标; currentWidget(): 获得当前活动标签的部件...; widget(): 获得指定标签索引的部件; indexOf(): 获得指定部件的标签索引; count(): 总标签数; setTabPosition(): 设置标签的显示位置,值为(北:QTabWidget.North...它是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。

    6.8K41
    领券