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(分组框) 2. QScrollArea(滚动区域) 3. QToolBox(工具箱) 4. QTabWidget(选…...
JPA 批量插入较大数据 解决性能慢问题
JPA 批量插入较大数据 解决性能慢问题 使用jpa saveAll接口的话需要了解原理: TransactionalOverridepublic <S extends T> List<S> saveAll(Iterable<S> entities) {Assert.notNull(entities, "Entities must not be null!");List<…...
为啥离不了 linux
Linux与Windows都是十分常见的电脑操作系统,相信你对它们二者都有所了解!在你的使用过程中,是否有什么事让你觉得在Linux上顺理成章,换到Windows上就令你费解?亦或者关于这二者你有任何想要分享的,都可以在…...
基于分形的置乱算法和基于混沌系统的置乱算法哪种更安全?
在信息安全领域中,置乱算法是一种重要的加密手段,它可以将明文进行混淆和打乱,从而实现保密性和安全性。常见的置乱算法包括基于分形的置乱算法和基于混沌系统的置乱算法。下面将从理论和实践两方面,对这两种置乱算法进行比较和分…...
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创建虚拟机,id设为9000,使用VirtIO SCSI控制器 qm create 9000 -core…...
shiro入门
1、概述 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。借助 Shiro 您可以快速轻松地保护任何应用程序一一从最小的移动应用程序到最大的 Web 和企业应用程序。 作用:Shiro可以帮我们完成 :认证、授权、加密、会话管理、与 Web 集成、…...
开源 sysgrok — 用于分析、理解和优化系统的人工智能助手
作者:Sean Heelan 在这篇文章中,我将介绍 sysgrok,这是一个研究原型,我们正在研究大型语言模型 (LLM)(例如 OpenAI 的 GPT 模型)如何应用于性能优化、根本原因分析和系统工程领域的问题。 你可以在 GitHub …...
Gitlab保护分支与合并请求
目录 引言 1、成员角色指定 1、保护分支设置 2、合并请求 引言 熟悉了Git工作流之后,有几个重要的分支,如Master(改名为Main)、Develop、Release分支等,是禁止开发成员随意合并和提交的,在此分支上的提交和推送权限仅限项目负责…...
ad18学习笔记九:输出文件
一般来说提供给板卡厂的文件里要包括以下这些文件 1、装配图 2、bom文件 3、gerber文件 4、转孔文件 5、坐标文件 6、ipc网表 AD_PCB:Gerber等各类文件的输出 - 哔哩哔哩 原点|钻孔_硬件设计AD 生成 Gerber 文件 1、装配图 如何输出装配图? 【…...
PostgreSQL 内存配置 与 MemoryContext 的生命周期
PostgreSQL 内存配置与MemoryContext的生命周期 PG/GP 内存配置 数据库可用的内存 gp_vmem 整个 GP 数据库可用的内存 gp_vmem: >>> 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方式 该方式用于父传子,父组件以数据绑定的形式声明要传递的数据,子组件通过defineProps()方法创建props对象,即可拿到父组件传来的数据。 // 父组件 <template><div><son…...
【Cache】Rsync远程同步
文章目录 一、rsync 概念二、rysnc 服务器部署1. 环境配置2. rysnc 同步源服务器2.1 安装 rsync2.2 建立 rsyncd.conf 配置文件2.3 创建数据文件(账号密码)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时报错:如下图: 解决办法: 先停掉gitlab: gitlab-ctl stop 单独启动数据库,如果不单独启动数据库,就会报以上错误 sudo gitlab-ctl start postgresql 解决办法&#x…...
chatGPT流式回复是怎么实现的
chatGPT流式回复是怎么实现的 先说结论: chatGPT的流式回复用的就是HTTP请求方案中的server-send-event流式接口,也就是服务端向客户端推流数据。 那eventStream流式接口怎么实现呢,下面就进入正题! 文章目录 chatGPT流式回复…...
使用SpringEL获得字符串中的表达式运算结果
概述 有时候会遇上奇怪的需求,比如解析字符串中表达式的结果。 这个时候自己写解析肯定是比较麻烦的, 正好SprinngEL支持加()、减(-)、乘(*)、除(/)、求余(%)、幂(^)运算,可以免去造轮子的功夫…...
力扣 39. 组合总和
题目来源:https://leetcode.cn/problems/combination-sum/description/ C题解: 递归法。递归前对数组进行有序排序,可方便后续剪枝操作。 递归函数参数:定义两个全局变量,二维数组result存放结果集,数组pa…...
基于BES系列蓝牙耳机NTC充电电池保护电路设计
+hezkz17进数字音频系统研究开发交流答疑 一 在充电电路中NTC作用? 在充电电路中,NTC(Negative Temperature Coefficient)热敏电阻通常被用于温度检测和保护。它具有随温度变化而变化的电阻值。 以下是NTC在充电电路中的几种常见作用: 温度监测:NTC热敏电阻可以用来测量…...
13-C++算法笔记-递归
📚 Introduction 递归是一种常用的算法设计和问题求解方法。它基于问题可以分解为相同类型的子问题,并通过解决子问题来解决原始问题的思想。递归算法在实际编程中具有广泛的应用。 🎯 递归算法解决问题的特点 递归算法具有以下特点&#…...
从古代八卦探究计算机的八进制
八进制,即八卦,是中国古代哲学体系中非常重要的一个概念,它被广泛应用于易经、道家、儒家等诸多领域。随着计算机科学的快速发展,人们开始思考:八进制是否可以应用到计算机上? 一、什么是八进制࿱…...
Linux shell mkfs.ext4命令参数使用
mkfs mkfs是个综合命令 mkfs 然后按两下tab 查看系统支持哪些文件系统的格式化功能 mkfs -t 文件系统格式名 以指定的文件系统格式来进行磁盘格式化 > 等于 mkfs.文件系统格式名 比如: mkfs -t xfs mkfs.xfs 常见的磁盘格式…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
