QT--splitter的使用

提示:本文为学习记录,若有错误,请联系作者,谦虚受教。

文章目录

  • 前言
  • 一、实现步骤
  • 二、使用步骤
    • 1.新建splitter
    • 2.splitter的使用
    • 3.splitter大小
  • 总结


前言


一、实现步骤

创建 QTabWidget:首先,确保你有一个 QTabWidget 控件。
添加初始标签页:向 QTabWidget 添加一些初始的标签页。
移除标签页内容:选择你想要替换为 QSplitter 的标签页,并移除其当前内容(如果有的话)。
创建 QSplitter:创建一个 QSplitter 控件,并设置其方向(水平或垂直)。
添加控件到 QSplitter:将需要的控件(如 QPushButton、QWidget 等)添加到 QSplitter 中。
设置 QSplitter 为标签页内容:将 QSplitter 设置为所选标签页的新内容。

二、使用步骤

1.新建splitter

包含必要的头文件:
首先,确保你的类包含了 QSplitter 的头文件。
cpp

#include <QSplitter>

创建 QSplitter 实例:
在你的窗口或对话框的构造函数中,或者在其他适当的位置,创建 QSplitter 的实例。
cpp
QSplitter *splitter = new QSplitter(this); // 假设 “this” 是你的主窗口或容器
这里的 this 参数表示 QSplitter 的父对象。通常,你会将其设置为你的主窗口或其他容器窗口部件。
3. 添加子窗口部件到 QSplitter:
使用 addWidget() 方法将其他窗口部件添加到 QSplitter 中。

cpp

QPushButton *button1 = new QPushButton("Button 1", splitter);  
QPushButton *button2 = new QPushButton("Button 2", splitter);  
splitter->addWidget(ui->groupBox);

// … 可以添加更多窗口部件
注意,当你将窗口部件添加到 QSplitter 时,它们会自动成为 QSplitter 的子窗口部件。
4. 设置 QSplitter 的属性(可选):
你可以使用各种方法来设置 QSplitter 的属性,例如方向(水平或垂直)、初始大小等。

cpp

splitter->setOrientation(Qt::Horizontal); // 设置分割方向为水平

2.splitter的使用

 // 将新的 QWidget 设置为标签页内容  int index = tabWidget->indexOf(initialTab); // 获取要替换的标签页索引  tabWidget->removeTab(index); // 移除旧标签页(如果需要的话)  tabWidget->insertTab(index, newTabContent, "Tab 1 with Splitter"); // 插入新标签页  

3.splitter大小

splitter->setStretchFactor(0, 1); // 第一个控件的拉伸因子为1  
splitter->setStretchFactor(1, 3); // 第二个控件的拉伸因子为3

总结

善于总结,多进一步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/14938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

融媒宝:群发自媒体平台的神器,注册送7天中级会员

近几年自媒体比较火&#xff0c;做自媒体往往需要发布文章或视频到多个平台&#xff0c;如手工复制粘贴逐一发布&#xff0c;委实费时费力、效率不高。今天就给大家分享一款提高自媒体运营效率的神器--融媒宝&#xff1a; 融媒宝简介 融媒宝是一款可免费使用的高效自媒体工具…

嵌入式学习记录5.20(TCP并发服务器)

目录 一. TCP并发服务器 二 .多进程实现TCP并发服务器 2.1流程框架 2.2具体实现代码 三. 多线程实现并发服务器 3.1流程框架 3.2具体实现 一. TCP并发服务器 1> 由于循环服务器使用时&#xff0c;只能等到上一个客户端处理结束后&#xff0c;才能处理下一个客户端 2&…

22个C语言小白常见问题总结

一.语言使用错误 在打代码的过程中&#xff0c;经常需要在中文与英文中进行转换&#xff0c;因此常出现一些符号一不小心就用错&#xff0c;用成中文。例如&#xff1a;“&#xff1b;”中文中的分号占用了两个字节&#xff0c;而英文中“;”分号只占用一个字节。编译器只能识…

Scala的简单学习一

一 相关知识 1.1 scala的安装 1.在idea中导入依赖&#xff0c;并在Idea下载scala插件 1.2 scala基础知识点 1.scala代码中一行语句的结束是以换行符为标准&#xff0c;可以不用写分号 2.class是一个普通的类&#xff0c;object相当于一个单例对象&#xff0c;object类中的…

OpenStack配置 之 不同cpu迁移虚拟机

介绍 OpenStack是一个开源的云计算管理平台项目&#xff0c;是一系列软件开源项目的组合。 OpenStack由NASA&#xff08;美国国家航空航天局&#xff09;和Rackspace合作研发并发起&#xff0c;以Apache许可证&#xff08;Apache软件基金会发布的一个自由软件许可证&#xff…

《Google 软件工程》读书笔记

1. 写在前面 在图书馆瞎逛&#xff0c;偶然瞄见一本《Google 软件工程》Titus Winters, Tom Manshreck, Hyrum Wright 著。主要是在这一排的书架上就这本书看着挺新的&#xff08;不知道为什么有一种喜欢看新书的情节&#xff09;&#xff0c;而且最近被领导老批评&#xff0c;…

Python 一个简单的用Canny算法进行边缘检测程序

以下是一个简单的边缘检测程序&#xff0c;使用Python和OpenCV库来实现。这个程序将加载一张图像&#xff0c;对其进行灰度化处理&#xff0c;并使用Canny边缘检测算法来检测图像中的边缘。请确保安装了OpenCV库&#xff08;可以使用pip install opencv-python进行安装&#xf…

Vue的router.addRoutes不起作用

Vue的router.addRoutes()不起作用解决方案 最近在学习制作后台管理系统的时候&#xff0c;涉及到了权限&#xff0c;在通过后台获取到数据后使用router.addRoutes()时不起作用。 最终发现左侧菜单组件中的路由是根据this.$router.options.routes来渲染的&#xff0c;最终使用…

sw套合样条曲线

套合样条曲线,可以变成一条曲线,然后可以进行分段

UOS1060e分离ssh与sftp服务

文章目录 原理一、sftp 用户与目录二、ssh 和 sftp 服务分离三、启动与停止四、验证 原理 SFTP是SSH的一部分&#xff0c;SFTP没有单独的守护进程&#xff0c;它必须使用SSHD守护进程&#xff08;端口号默认是22&#xff09;来完成相应的连接操作。 通过新建另一个‘sshd’进程…

rclone迁移对象存储之间的数据

1 概述 rclone是一款文件复制工具&#xff0c;既可以用于在linux主机之间复制文件&#xff0c;也可以在对象存储之间复制文件。 rclone的官网为&#xff1a; https://rclone.orgrlcone关于对象存储的官方文档为&#xff1a; https://rclone.org/s32 安装 2.1 yum安装 yum …

使用Spring Boot和Screw轻松生成数据库设计文档

目录 引言 准备工作 项目初始化 引入依赖 配置数据库连接 集成Screw生成文档 基本配置 生成数据库文档 实战操作 示例项目 生成效果 结论 常见问题 延伸阅读 引言 数据库设计文档是项目技术文档的重要组成部分。它不仅有助于开发人员理解数据库结构&#xff0c…

PY32F系列32位单片机 特殊引脚复用说明

一 、 PY32F030 系 列 &#xff0c; 包 括 PY32F030 、PY32F003、 PY32F002A、 XL32F003 的特殊引脚使用说明。 1、晶振引脚的复用&#xff0c;使用 HSE/LSE 引脚作为 GPIO 功能引脚时&#xff0c;只要没有配置相关功能的情况下&#xff0c;正常配置 GPIO 功能即可。 其中&am…

SpringBoot3.x 整合 Spring AI

Spring AI 已经发布了一段时间&#xff0c;虽然推出的时候就被人说只是一个套了 API 的壳&#xff0c;但是作为 Spring 生态的一个开源项目&#xff0c;用它来结合到现有业务系统中还是一个比较好的方案&#xff0c;毕竟像笔者当初为了接入 OpenAI 的 API&#xff0c;还专门学了…

Pydantic与Sqlalchemy数据模型的枚举类型实践

说明&#xff1a; 乍看时以为很容易的东西&#xff0c;摸索实践后才知道窍门实战中我是用Tinyint / Interger 作为保存 enum对象数值的字段类型&#xff0c; 而不是用数据库中提供的ENUM类型字段&#xff0c;因为有更好的扩展性&#xff0c;性能&#xff0c;节省空间作为使用理…

Git 在Windows上添加文件换行相关设置

Windows使用Git时&#xff0c;如果在提交时希望换行符不变&#xff08;CRLF换行不转换为LF&#xff09;&#xff0c;core.autocrlf选项可以按照如下设置。 时保留CRLF换行符&#xff0c;检出时转换为LF&#xff0c;core.autocrlf为true&#xff1a; git config --global core.…

pcd点云江湖之处处碰壁:点云文件pcd加载02

江湖好汉&#xff0c;休走&#xff0c;废了半天力气把threejs自带的代码搬迁到自己项目中了&#xff0c;高高兴兴给领导看。领导一句话&#xff0c;顿时无奈&#xff1a;领导曰&#xff1a;点云单色太丑&#xff0c;能不能按照分类展示&#xff1f; 一句话难道英雄好汉&#xf…

#P0564. 数组元素查找升级版

问题描述 给你 n 个数&#xff0c;再给你一个数 k&#xff0c;查找 k 在这 n 个数中第一次出现的位置&#xff08;从 0 开始计数&#xff09;&#xff0c;不存在输出 No。 输入 多组测试数据&#xff0c;对于每组测试数据&#xff1a; 第一行输入一个整数 n (1 ≤ n ≤ 100…

深入理解Vue 3中的v-if和v-for指令

Vue.js是一款流行的JavaScript框架&#xff0c;其简洁的语法和强大的功能使得前端开发变得更加高效和愉快。在Vue 3中&#xff0c;我们看到了许多新的特性和改进&#xff0c;其中包括了两个最常用的指令之一&#xff1a;v-if和v-for。 1. v-if指令 v-if指令是Vue中最常用的条件…

eclipse配置JDK和Tomcat

eclipse配置JDK jdk配置 配置JDK&#xff1a; 首先&#xff0c;确保JDK已经安装并配置了环境变量。这包括设置JAVA_HOME环境变量&#xff0c;指向JDK的安装目录&#xff0c;以及更新CLASSPATH和PATH环境变量以包含JDK的bin目录。 在Eclipse中&#xff0c;通过Window > Pre…