当前位置: 首页 > news >正文

Qt第三课 ----------容器类控件

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言、C++和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂


容器控件

  • **作者前言**
  • Group Box
  • Tab Widget

Group Box

使⽤ QGroupBox 实现⼀个带有标题的分组框. 可以把其他的控件放到⾥⾯作为⼀组. 这样看起来能更好看⼀点
分组框只是⼀个⽤来 “美化界⾯” 这样的组件, 并不涉及到⽤⼾交互和业务逻辑. 属于 “锦上添
花” .
如图:
在这里插入图片描述
属性如下:
title 分组框的标题
alignment 分组框内部内容的对⻬⽅式
flat 是否是 “扁平” 模式
checkable 是否可选择. 设为 true, 则在 title 前⽅会多出⼀个可勾选的部分.
checked 描述分组框的选择状态 (前提是 checkable 为 true)
下面写一个简单的代码,

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);CreateGroupBox("分组框1",200,300);
}Widget::~Widget()
{delete ui;
}QGroupBox *Widget::CreateGroupBox(QString title, int width, int heigth)
{//创建一个分组框QGroupBox* groupbox = new QGroupBox( this);groupbox->setTitle(title);groupbox->setFixedSize(width, heigth);//创建一个下拉框QComboBox * combox = new QComboBox(groupbox);combox->move(20,30);return groupbox;}

效果:
在这里插入图片描述
这里只是简单的写一个, 如果觉得不好看.可以通过ui文件去修改

Tab Widget

使⽤ QTabWidget 实现⼀个带有标签⻚的控件, 可以往⾥⾯添加⼀些 widget. 进⼀步的就可以通过标签⻚来切换
标签页如下:
在这里插入图片描述
属性如下:

在这里插入图片描述
使⽤ count() 获取到标签⻚的个数.
• 使⽤ addTab 新增标签⻚.
• 使⽤ removeTab 删除标签⻚.
• 使⽤ currentIndex 获取到当前标签⻚的下标.
• 使⽤ setCurrentIndex 切换当前标签⻚.
核⼼信号:
currentChanged(int) 在标签⻚发⽣切换时触发, 参数为被点击的选项卡编号.
tabBarClicked(int) 在点击选项卡的标签条的时候触发. 参数为被点击的选项卡编号.
tabBarDoubleClicked(int) 在双击选项卡的标签条的时候触发. 参数为被点击的选项卡编号.
tabCloseRequest(int) 在标签⻚关闭时触发. 参数为被关闭的选项卡编号.
下面我们写一个两个按钮,一个按钮创建标签页,一个按钮删除
ui文件:
在这里插入图片描述

代码如下:

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::CreateInit(QWidget *parent)
{parent->resize(300,400);QPushButton * button = new QPushButton("1111", parent);button->resize(200,100);//设置成当前的标签页ui->tabWidget->setCurrentWidget(parent);qDebug() << "当前的标签页为:"<< ui->tabWidget->currentIndex();}void Widget::on_pushButton_clicked()
{QString name("创建出来的");QWidget* widget = new QWidget();ui->tabWidget->addTab(widget, name);QLabel* label = new QLabel(widget);
//    label->setText(name+QString::number(ui->tabWidget->count()));
//    new QPushButton("按钮", widget);CreateInit(widget);}
void Widget::on_pushButton_2_clicked()
{//获取当前的标签if(ui->tabWidget->currentIndex()>=  0)ui->tabWidget->removeTab(ui->tabWidget->currentIndex());
}
void Widget::on_pushButton_3_clicked()
{//获取当前的标签窗口qDebug() << "初始化" << ui->tabWidget->currentIndex();CreateInit(ui->tabWidget->currentWidget());QPushButton *a = new QPushButton(ui->tabWidget->currentWidget());
}

效果图:
在这里插入图片描述

相关文章:

Qt第三课 ----------容器类控件

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…...

打印菱形(C语言)

程序&#xff1a; #include <stdio.h> int main() { int i,j; for(i1;i<5;i){ for(j0;j<6-i;j){ printf(" ");} for(j0;j<i*2-1;j){ printf("*");} printf("\n");} …...

Oracle 19c 中启用 scott 用户

Oracle 19c 中启用 scott 用户 文章目录 Oracle 19c 中启用 scott 用户正常操作如果ORA-01918: 用户 SCOTT 不存在?/sqlplus/admin/scott.sql 没有 scott.sql 怎么处理 正常操作 连接到 Oracle 数据库&#xff1a; 使用 sqlplus 工具或者其他 SQL 客户端工具&#xff08;如 S…...

git commit 校验

commitlint官方链接 1. npm install --save-dev commitlint/config-conventional commitlint/cli 2. 配置commitlint.config.cjs(项目根目录中&#xff09; module.exports {extends: [commitlint/config-conventional],rules: {type-enum: [2,always,[Feat, Fix, Doc, Style,…...

【AtCoder】Beginner Contest 377-B.Avoid Rook Attack

Problem Statement 题目链接 There is a grid of 64 64 64 squares with 8 8 8 rows and 8 8 8 columns. Let ( i , j ) (i,j) (i,j) denote the square at the i i i-th row from the top ( 1 ≤ i ≤ 8 ) (1\leq i\leq8) (1≤i≤8) and j j j-th column from the lef…...

江协科技STM32学习- P38 软件SPI读写W25Q64

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…...

【Triton 教程】低内存 Dropout

Triton 是一种用于并行编程的语言和编译器。它旨在提供一个基于 Python 的编程环境&#xff0c;以高效编写自定义 DNN 计算内核&#xff0c;并能够在现代 GPU 硬件上以最大吞吐量运行。 更多 Triton 中文文档可访问 →https://triton.hyper.ai/ 在本教程中&#xff0c;您将编…...

npx创建项目时,error fetch failed.TypeError: fetch failed

npx创建项目时&#xff0c;报以下错误&#xff1a; error fetch failed. TypeError: fetch failedat node:internal/deps/undici/undici:12345:11at process.processTicksAndRejections (node:internal/process/task_queues:95:5)at async getTemplateVersion (C:\Users\ymt30…...

《Kotlin实战》-附录

附录 本部分内容只是简单列举下Kotlin应用以便指引进一步深入学习Kotlin。 附录A&#xff1a;构建Kotlin项目 本节只会记录下gradle的应用&#xff0c;其他需要时请自行搜索查看。 A.1 用Gradle构建Kotlin代码的项目 构建Kotlin项目的标准Gradle脚本如下&#xff1a; bui…...

yelp数据集上识别潜在的热门商家

yelp数据集是研究B2C业态的一个很好的数据集&#xff0c;要识别潜在的热门商家是一个多维度的分析过程&#xff0c;涉及用户行为、商家特征和社区结构等多个因素。从yelp数据集里我们可以挖掘到下面信息有助于识别热门商家 用户评分和评论分析 评分均值: 商家的平均评分是反映其…...

【Linux】进程信号全攻略(一)

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; 信号的概念 二&#xff1a;&#x1f525; 信号产生的方式 &#x1f98b; 使用键盘&#x1f98b; 系统调用函数&#x1f98b; 软件条件&#x1f98b; 进程异…...

linux文件重命名

Linux文件重命名 文件名显示异常问题出在哪里批量改名扩展 文件名显示异常 跑测CTS&#xff0c;linux环境看跑测结果log file显示没问题&#xff0c;倘若windows下看log file名却显示异常&#xff0c;不太方便操作。 问题出在哪里 linux环境下文件名可以显示正常&#xff0…...

如何选择适合的AWS EC2实例类型

在云计算的世界中&#xff0c;Amazon Web Services&#xff08;AWS&#xff09;提供了丰富的服务&#xff0c;其中Elastic Compute Cloud&#xff08;EC2&#xff09;是最受欢迎的服务之一。选择合适的EC2实例类型对于确保应用程序的性能和成本效益至关重要。我们九河云通过本文…...

【Uniapp】Uniapp Android原生插件开发指北

前言 在uniapp开发中当HBuilderX中提供的能力无法满足App功能需求&#xff0c;需要通过使用Andorid/iOS原生开发实现时&#xff0c;或者是第三方公司提供的是Android的库&#xff0c;这时候可使用App离线SDK开发原生插件来扩展原生能力。 插件类型有两种&#xff0c;Module模…...

【随手笔记】FLASH-W25Q16(三)

#include "bsp_w25q16.h"/*内部函数声明区*/ static HAL_StatusTypeDef bsp_w25q_Transmit(uint8_t * T_pData, uint16_t T_Size); static HAL_StatusTypeDef bsp_w25q_Receive(uint8_t * R_pData, uint16_t R_Size);/*内部函数定义区*//* 函数参数&#xff1a;1、T_…...

2024软件测试面试热点问题

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 大厂面试热点问题 1、测试人员需要何时参加需求分析&#xff1f; 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工…...

【JAVA】java 企业微信信息推送

前言 JAVA中 将信息 推送到企业微信 // 企微消息推送messageprivate String getMessage(String name, String problemType, String pushResults, Long orderId,java.util.Date submitTime, java.util.Date payTime) {String message "对接方&#xff1a;<font color\…...

介绍一下数组(c基础)(smart 版)

c初期&#xff0c;记住规则&#xff0c;用规则。 我只是介绍规则。&#xff08;有详细版&#xff0c;这适合smart人看&#xff09; 数组&#xff08;同类型&#xff09; int arr[n] {} ; int 是 元素类型。 int arr[n] {} ; arr为标识符。 {} 集合&#xff0c;元素有次…...

Java项目实战II基于Spring Boot的个人云盘管理系统设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 基于Spring Boot的个人云盘管理系统设计…...

探索数据科学与大数据技术专业本科生的广阔就业前景

随着信息技术的不断发展&#xff0c;数据科学与大数据技术已经成为各大行业的关键推动力。在这样一个数据驱动的时代&#xff0c;越来越多的企业依赖数据来驱动决策、优化运营和创造价值。因此&#xff0c;数据科学与大数据技术专业的本科生在就业市场上具有广阔的前景和多样的…...

STM32CubeMX配置FreeRTOS时,那个不起眼的定时器TIM16到底在干嘛?新手避坑指南

STM32CubeMX配置FreeRTOS时&#xff0c;那个不起眼的定时器TIM16到底在干嘛&#xff1f;新手避坑指南 第一次在STM32CubeMX里勾选FreeRTOS组件时&#xff0c;很多开发者会对配置页面底部那个"Hardware Timer"选项感到困惑——为什么默认选中了TIM16&#xff1f;这个看…...

别再只会用BurpSuite了!手把手教你用ZAP(Zed Attack Proxy)给Web应用做免费安全体检

从零开始掌握ZAP&#xff1a;开源Web安全测试实战指南 在当今快速迭代的Web开发领域&#xff0c;安全测试早已不是可选项而是必选项。当大多数开发者习惯性地打开BurpSuite时&#xff0c;他们可能忽略了开源世界中同样强大的替代方案——Zed Attack Proxy&#xff08;ZAP&#…...

从平面到立体:用ImageToSTL将照片变为可触摸的3D模型

从平面到立体&#xff1a;用ImageToSTL将照片变为可触摸的3D模型 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side. …...

从MapReduce到Spark:深入理解reduceByKey的‘预聚合’是如何继承并超越Hadoop的Combiner的

从MapReduce到Spark&#xff1a;深入理解reduceByKey的‘预聚合’如何继承并超越Hadoop的Combiner 在分布式计算的演进历程中&#xff0c;数据处理模式的优化往往体现在对既有范式的精炼与重构。当开发者从Hadoop生态转向Spark时&#xff0c;reduceByKey操作符的设计哲学尤其值…...

ARM迷你PC硬核体验:RK3588玩转游戏、影音与家庭服务器

1. 项目概述&#xff1a;当ARM迷你PC遇上硬核游戏最近几年&#xff0c;迷你PC市场可以说是百花齐放&#xff0c;从主打办公的英特尔NUC&#xff0c;到各种基于AMD平台的准系统&#xff0c;选择非常多。但不知道你有没有注意到&#xff0c;一股新的力量正在悄然崛起——那就是基…...

使用Taotoken后我们如何清晰观测各模型的用量与延迟表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken后我们如何清晰观测各模型的用量与延迟表现 当团队在项目中同时接入多个大语言模型时&#xff0c;一个常见的困扰随之…...

避坑指南:解决RK3588编译ZLMediaKit时OpenSSL等依赖库路径找不到的问题

RK3588交叉编译ZLMediaKit实战&#xff1a;系统性解决OpenSSL依赖路径问题 第一次在RK3588开发板上尝试编译ZLMediaKit时&#xff0c;我遇到了一个看似简单却令人抓狂的问题——CMake死活找不到OpenSSL库。屏幕上不断跳出的Could NOT find OpenSSL错误提示&#xff0c;让我意识…...

WordPress Playground部署实战:从开发到生产的完整流程指南

WordPress Playground部署实战&#xff1a;从开发到生产的完整流程指南 【免费下载链接】wordpress-playground Run WordPress in the browser via WebAssembly PHP 项目地址: https://gitcode.com/gh_mirrors/wo/wordpress-playground WordPress Playground 是一个革命…...

零基础极速上手教程:用AI建站工具10分钟生成你的第一个网站

你是不是也想过拥有一个属于自己的网站&#xff0c;但总觉得那是程序员才干得了的事&#xff1f;或者你曾经试过一些建站工具&#xff0c;结果被复杂的后台、密密麻麻的选项和所谓的「可视化拖拽」搞得晕头转向&#xff1f;别担心&#xff0c;今天这篇教程&#xff0c;就是专门…...

Claude Code质量崩了?Anthropic认错;3人+100个AI月烧130万美元,炸了

每天更新&#xff0c;带你读懂科技圈。 今日看点&#xff1a; Anthropic正式发布Claude Code质量事故复盘&#xff1b;OpenClaw之父晒出130万美元月账单——3人100个AI agent震撼业界&#xff1b;Hermes团队砍掉预训练六成成本&#xff1b;GitHub Copilot推桌面应用狙击AI编程对…...