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

day2 QT按钮与容器

目录

按钮 

1、QPushButton

2、QToolButton

3、QRadioButton

4、QCheckBox

示例

容器

 ​编辑

1. QGroupBox(分组框)

2. QScrollArea(滚动区域)

3. QToolBox(工具箱)

4. QTabWidget(选项卡控件)

5. QStackedWidget(堆叠控件)

6. QFrame(框架控件)

7. QWidget(窗口部件)

8. QMdiArea(多文档界面区域)

9. QDockWidget(停靠控件)


按钮 

1、QPushButton

  • QPushButton是一个普通的按钮类,用于创建常规按钮。
  • 可以设置按钮的文本、图标、样式等属性,并与点击事件相关联。

2、QToolButton

  • QToolButton是一个工具按钮类,用于创建带有图标或文本的工具按钮。
  • 与QPushButton不同的是,QToolButton通常用于工具栏或工具箱中,可以包含下拉菜单、快捷方式等功能。

3、QRadioButton

  • QRadioButton是一个单选按钮类,用于创建一组互斥的选项。
  • 当选择一个单选按钮时,其他单选按钮将自动取消选择。
  • 可以通过将单选按钮放在QButtonGroup中来建立同一组的单选按钮。

4、QCheckBox

  • QCheckBox是一个复选框类,用于创建可以选择或取消选择的项目。
  • 与QRadioButton不同的是,QCheckBox不互斥,可以同时选择多个复选框。

示例

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>#include <QLineEdit>
#include <QPushButton>
#include <QCheckBox>#include <QWidget>class Widget : public QWidget
{Q_OBJECT
public slots:void setpass(bool flag){if(!flag)le->setEchoMode(QLineEdit::Password);elsele->setEchoMode(QLineEdit::Normal);}public:Widget(QWidget *parent = 0);~Widget();private:QLineEdit *le;QCheckBox *ck;QPushButton *pb;
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{le = new QLineEdit;//le->setEchoMode(QLineEdit::Password);ck = new QCheckBox("show passwd");pb = new QPushButton("clear");QVBoxLayout *vbox = new QVBoxLayout;vbox->addWidget(le);vbox->addWidget(ck);vbox->addWidget(pb);this->setLayout(vbox);connect(pb, SIGNAL(clicked(bool)), le, SLOT(clear()));connect(ck, SIGNAL(clicked(bool)), this, SLOT(setpass(bool)));}Widget::~Widget()
{}

容器

 

1. QGroupBox(分组框)

  • QGroupBox是用于在界面上创建一个带有标题的分组框
  • 它可以用于将相关的控件或选项分组显示,提高用户界面的可读性和可理解性。

2. QScrollArea(滚动区域)

  • QScrollArea提供一个滚动视图用于显示比可见区域更大的内容
  • 可以将需要滚动显示的控件放置在QScrollArea内部,使用户可以通过滚动来查看全部内容。

3. QToolBox(工具箱)

  • QToolBox是一个可以包含多个部件或选项卡的容器控件
  • 它以堆叠的方式显示多个部件,并提供一个选项卡或树状结构来切换不同的部件。

4. QTabWidget(选项卡控件)

  • QTabWidget是一个包含多个选项卡的容器控件。
  • 每个选项卡可以关联一个窗口部件,通过切换选项卡可以显示不同的内容。

5. QStackedWidget(堆叠控件)

  • QStackedWidget是一个堆叠式的容器控件,用于存储和切换多个部件。
  • 每个部件被堆叠在一起,只显示当前选中的部件,其他部件隐藏。

6. QFrame(框架控件)

  • QFrame是一个基础的可视控件类,用于创建具有框架样式的矩形区域。
  • 它可以用于容纳其他控件,也可以显示边框、阴影等装饰效果。

7. QWidget(窗口部件)

  • QWidget是Qt中所有可视化控件的基类,也可以作为容器控件使用。
  • 它提供了绘图、事件处理和布局管理等功能,可用于构建应用程序的用户界面。

8. QMdiArea(多文档界面区域)

  • QMdiArea是一个多文档界面容器,用于显示和管理多个子窗口。
  • 它提供了窗口的布局、切换、激活等功能,适用于创建MDI风格的应用程序。

9. QDockWidget(停靠控件)

  • QDockWidget是一个可停靠的容器控件,用于在主窗口中创建可拖拽和停靠的部件。
  • 它可以将各种部件、工具栏等放置在主窗口的边缘位置。
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QToolBox>
#include <QPushButton>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();private:QToolBox *tb;QPushButton *pb[3];
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{tb = new QToolBox;pb[0] = new QPushButton("aaa");pb[1] = new QPushButton("bbb");pb[2] = new QPushButton("ccc");tb->addItem(pb[0], "1111");tb->addItem(pb[1], "2222");tb->addItem(pb[2], "3333");QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(tb);this->setLayout(mainbox);
}Widget::~Widget()
{}

 

 

相关文章:

day2 QT按钮与容器

目录 按钮 1、QPushButton 2、QToolButton 3、QRadioButton 4、QCheckBox 示例 容器 ​编辑 1. QGroupBox&#xff08;分组框&#xff09; 2. QScrollArea&#xff08;滚动区域&#xff09; 3. QToolBox&#xff08;工具箱&#xff09; 4. QTabWidget&#xff08;选…...

JPA 批量插入较大数据 解决性能慢问题

JPA 批量插入较大数据 解决性能慢问题 使用jpa saveAll接口的话需要了解原理&#xff1a; TransactionalOverridepublic <S extends T> List<S> saveAll(Iterable<S> entities) {Assert.notNull(entities, "Entities must not be null!");List<…...

为啥离不了 linux

Linux与Windows都是十分常见的电脑操作系统&#xff0c;相信你对它们二者都有所了解&#xff01;在你的使用过程中&#xff0c;是否有什么事让你觉得在Linux上顺理成章&#xff0c;换到Windows上就令你费解&#xff1f;亦或者关于这二者你有任何想要分享的&#xff0c;都可以在…...

基于分形的置乱算法和基于混沌系统的置乱算法哪种更安全?

在信息安全领域中&#xff0c;置乱算法是一种重要的加密手段&#xff0c;它可以将明文进行混淆和打乱&#xff0c;从而实现保密性和安全性。常见的置乱算法包括基于分形的置乱算法和基于混沌系统的置乱算法。下面将从理论和实践两方面&#xff0c;对这两种置乱算法进行比较和分…...

pve使用cloud-image创建ubuntu模板

首先连接pve主机的终端 下载ubuntu22.04的cloud-image镜像 wget -P /opt https://mirrors.cloud.tencent.com/ubuntu-cloud-images/jammy/current/jammy-server-cloudimg-amd64.img创建虚拟机&#xff0c;id设为9000&#xff0c;使用VirtIO SCSI控制器 qm create 9000 -core…...

shiro入门

1、概述 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。借助 Shiro 您可以快速轻松地保护任何应用程序一一从最小的移动应用程序到最大的 Web 和企业应用程序。 作用&#xff1a;Shiro可以帮我们完成 &#xff1a;认证、授权、加密、会话管理、与 Web 集成、…...

开源 sysgrok — 用于分析、理解和优化系统的人工智能助手

作者&#xff1a;Sean Heelan 在这篇文章中&#xff0c;我将介绍 sysgrok&#xff0c;这是一个研究原型&#xff0c;我们正在研究大型语言模型 (LLM)&#xff08;例如 OpenAI 的 GPT 模型&#xff09;如何应用于性能优化、根本原因分析和系统工程领域的问题。 你可以在 GitHub …...

Gitlab保护分支与合并请求

目录 引言 1、成员角色指定 1、保护分支设置 2、合并请求 引言 熟悉了Git工作流之后&#xff0c;有几个重要的分支&#xff0c;如Master(改名为Main)、Develop、Release分支等&#xff0c;是禁止开发成员随意合并和提交的&#xff0c;在此分支上的提交和推送权限仅限项目负责…...

ad18学习笔记九:输出文件

一般来说提供给板卡厂的文件里要包括以下这些文件 1、装配图 2、bom文件 3、gerber文件 4、转孔文件 5、坐标文件 6、ipc网表 AD_PCB&#xff1a;Gerber等各类文件的输出 - 哔哩哔哩 原点|钻孔_硬件设计AD 生成 Gerber 文件 1、装配图 如何输出装配图&#xff1f; 【…...

PostgreSQL 内存配置 与 MemoryContext 的生命周期

PostgreSQL 内存配置与MemoryContext的生命周期 PG/GP 内存配置 数据库可用的内存 gp_vmem 整个 GP 数据库可用的内存 gp_vmem&#xff1a; >>> RAM 128 * GB >>> gp_vmem ((SWAP RAM) - (7.5*GB 0.05 * RAM)) / 1.7 >>> print(gp_vmem / G…...

vue3 组件间通信的方式(setup语法糖写法)

vue3 组件间通信的方式(setup语法糖写法) 1. Props方式 该方式用于父传子&#xff0c;父组件以数据绑定的形式声明要传递的数据&#xff0c;子组件通过defineProps()方法创建props对象&#xff0c;即可拿到父组件传来的数据。 // 父组件 <template><div><son…...

【Cache】Rsync远程同步

文章目录 一、rsync 概念二、rysnc 服务器部署1. 环境配置2. rysnc 同步源服务器2.1 安装 rsync2.2 建立 rsyncd.conf 配置文件2.3 创建数据文件&#xff08;账号密码&#xff09;2.4 启动服务2.5 数据配置 3. rysnc 客户端3.1 设置同步方法一方法二 3.2 免交互设置 4. rysnc 认…...

Gitlab升级报错一:rails_migration[gitlab-rails] (gitlab::database_migrations line 51)

Gitlab-ce从V14.0.12升级到V14.3.6或V14.10.5时报错&#xff1a;如下图&#xff1a; 解决办法&#xff1a; 先停掉gitlab: gitlab-ctl stop 单独启动数据库&#xff0c;如果不单独启动数据库&#xff0c;就会报以上错误 sudo gitlab-ctl start postgresql 解决办法&#x…...

chatGPT流式回复是怎么实现的

chatGPT流式回复是怎么实现的 先说结论&#xff1a; chatGPT的流式回复用的就是HTTP请求方案中的server-send-event流式接口&#xff0c;也就是服务端向客户端推流数据。 那eventStream流式接口怎么实现呢&#xff0c;下面就进入正题&#xff01; 文章目录 chatGPT流式回复…...

使用SpringEL获得字符串中的表达式运算结果

概述 有时候会遇上奇怪的需求&#xff0c;比如解析字符串中表达式的结果。 这个时候自己写解析肯定是比较麻烦的&#xff0c; 正好SprinngEL支持加()、减(-)、乘(*)、除(/)、求余&#xff08;%&#xff09;、幂&#xff08;^&#xff09;运算&#xff0c;可以免去造轮子的功夫…...

力扣 39. 组合总和

题目来源&#xff1a;https://leetcode.cn/problems/combination-sum/description/ C题解&#xff1a; 递归法。递归前对数组进行有序排序&#xff0c;可方便后续剪枝操作。 递归函数参数&#xff1a;定义两个全局变量&#xff0c;二维数组result存放结果集&#xff0c;数组pa…...

基于BES系列蓝牙耳机NTC充电电池保护电路设计

+hezkz17进数字音频系统研究开发交流答疑 一 在充电电路中NTC作用? 在充电电路中,NTC(Negative Temperature Coefficient)热敏电阻通常被用于温度检测和保护。它具有随温度变化而变化的电阻值。 以下是NTC在充电电路中的几种常见作用: 温度监测:NTC热敏电阻可以用来测量…...

13-C++算法笔记-递归

&#x1f4da; Introduction 递归是一种常用的算法设计和问题求解方法。它基于问题可以分解为相同类型的子问题&#xff0c;并通过解决子问题来解决原始问题的思想。递归算法在实际编程中具有广泛的应用。 &#x1f3af; 递归算法解决问题的特点 递归算法具有以下特点&#…...

从古代八卦探究计算机的八进制

八进制&#xff0c;即八卦&#xff0c;是中国古代哲学体系中非常重要的一个概念&#xff0c;它被广泛应用于易经、道家、儒家等诸多领域。随着计算机科学的快速发展&#xff0c;人们开始思考&#xff1a;八进制是否可以应用到计算机上&#xff1f; 一、什么是八进制&#xff1…...

Linux shell mkfs.ext4命令参数使用

mkfs mkfs是个综合命令 mkfs 然后按两下tab 查看系统支持哪些文件系统的格式化功能 mkfs -t 文件系统格式名 以指定的文件系统格式来进行磁盘格式化 > 等于 mkfs.文件系统格式名 比如&#xff1a; mkfs -t xfs mkfs.xfs 常见的磁盘格式…...

【Docker】子系统与其相关名词的界定、Control Groups等详细讲解

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…...

spring事务的传播性与隔离性

spring事务的传播性 REQUIRED&#xff08;必须的&#xff09;(TransactionDefinition.PROPAGATION_REQUIRED) 使用当前的事务&#xff0c;如果当前没有事务&#xff0c;则自己新建一个事务&#xff0c;子方法是必须运行在一个事务中的&#xff0c;如果当前存在事务&#xff0c…...

【设计模式】模板方法与策略模式的结合使用

文章目录 1. 概述1.1.简述模板方法 2.模板方法实现2.1.简单实现2.2.在SpringBoot中的实现 3.模板方法与策略模式的结合使用3.1.代码实现 4.总结 1. 概述 模板方法是一种非常简单的设计模式&#xff0c;只要能够理解面向对象中的继承与多态就能够理解这种设计模式&#xff0c;我…...

Jmeter实现参数加密

目录 一、使用__digest自带函数 以md5加密算法演示使用方法 二、在BeanShell 中使用JAVA代码实现算法加密 规避BUG的方法 JMeter有两种方法可以实现算法加密 一、使用__digest自带函数 参数说明&#xff1a; Digest algorithm&#xff1a;算法摘要&#xff0c;可输入值&a…...

Solon Web 开发:四、认识请求上下文(Context)

Handler Context 架构&#xff0c;是Solon Web 的基础。在 Context &#xff08;org.noear.solon.core.handle.Context&#xff09;里可以获取&#xff1a; 请求相关的对象与接口会话状态相关的对象与接口响应相关的对象与接口 或者理解所有请求与响应相关的&#xff0c;都在…...

docker安装RocketMQ(附填坑经验connect to <172.17.0.3:10909> failed)

目录 一、docker部署RocketMQ1、简易说明2、docker拉取RocketMQ镜像\RocketMQ控制台3、获取RocketMQ配置文件4、RocketMQ配置文件描述5、docker启动RocketMQ6、进入RocketMQ控制台 二、填坑经验错误一: connect to <172.17.0.3:10909> failed错误二: maybe your broker m…...

GRU、LSTM、注意力机制(第八次组会)

GRU、LSTM、注意力机制(第八次组会) 一、 GRU二、 LSTM三、 深度RNN、双向RNN四、 注意力机制一、 GRU 二、 LSTM 三、 深度RNN、双向RNN...

问题杂谈(三十六)@RequestBody、@RequestParam和@PathVariable三个注解的区别和使用

总结&#xff1a; 在后端的同一个接收方法里&#xff0c;RequestBody与RequestParam()可以同时使用RequestBody最多只能有一个&#xff0c;而RequestParam()可以有多个RequestBody 接收的是请求体里面的数据&#xff0c;所以一般用POST请求&#xff1b;而RequestParam接收的是…...

Flutter学习四:Flutter开发基础(六)调试Flutter应用

目录 0 引言 1 调试Flutter应用 1.1 日志与断点 1.1.1 debugger() 声明 1.1.2 print和debugPrint 1.1.3 调试模式、中间模式、发布模式 1.1.4 断点 1.2 调试应用程序层 1.2.1 转储Widgets树 1.2.2 转储渲染树 1.2.3 转储Layer树 1.2.4 转储语义树 1.2.5 调度&…...

新的开始(开始更新笔记)

首先感谢关注我的小伙伴&#xff0c;以后在求职或者选择方向的时候&#xff0c;感觉迷茫的时候&#xff0c;可以加我聊聊。 一路走来&#xff0c;跌跌撞撞&#xff0c;磕磕碰碰&#xff0c;经历了很多&#xff0c;记得上一次的更新笔记还是2021年。 首先说一下我的经历&#…...