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

widget一些控件的使用

QRadioButton使用

先使用ui界面拖拽创建radio button

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->male->setChecked(true);//选中按钮ui->other->setCheckable(false);//是否能够选择
}Widget::~Widget()
{delete ui;
}void Widget::on_male_clicked()
{ui->label->setText("你选的性别为:男");
}void Widget::on_fmale_clicked()
{ui->label->setText("你选的性别为:女");
}void Widget::on_other_clicked()
{ui->label->setText("你选的性别为: 其他");
}
  • clicked 是⼀次⿏标按下+⿏标释放触发的.

• pressed 是⿏标按下触发的.

• released 是⿏标释放触发的.

• toggled 是 checked 属性改变时触发的.

总的来说, toggled 是最适合 QRadioButton 的

radiobutton按照组分组

#include "widget.h"
#include "ui_widget.h"
#include <QButtonGroup>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建三个QButtonGroupQButtonGroup* g1 = new QButtonGroup(this);QButtonGroup* g2 = new QButtonGroup(this);QButtonGroup* g3 = new QButtonGroup(this);//加入组里g1->addButton(ui->radioButton_1);g1->addButton(ui->radioButton_2);g1->addButton(ui->radioButton_3);g2->addButton(ui->radioButton_4);g2->addButton(ui->radioButton_5);g3->addButton(ui->radioButton_6);g3->addButton(ui->radioButton_7);}

checkbox的使用方法

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString s1;if(ui->checkBox_eat->isChecked()){s1 += ui->checkBox_eat->text();}if(ui->checkBox_sleep->isChecked()){s1 += ui->checkBox_sleep->text();}if(ui->checkBox_video->isChecked()){s1 += ui->checkBox_video->text();}qDebug() << "今天的安排是"<< s1;
}

QLabel

Label不支持在界面进行输入修改。!

textFormat属性:如下

Qt::PlainText 纯⽂本

Qt::RichText 富⽂本(⽀持 html 标签)

Qt::MarkdownText markdown 格式

Qt::AutoText 根据⽂本内容⾃动决定⽂本格式.


Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置文本格式ui->label->setTextFormat(Qt::PlainText);ui->label->setText("这是文本一");//设置为富文本ui->label_2->setTextFormat(Qt::RichText);ui->label_2->setText("<b>这是文本2</b>");//设置为markdownui->label_3->setTextFormat(Qt::MarkdownText);ui->label_3->setText("#  这是文本3");
}

pixmap(位图)

QLabel内部包含的图片

    //设置和widget一样的大小ui->label->setGeometry(0,0,800, 600);QPixmap q(":/pr/caixukun.png");ui->label->setPixmap(q);

scaledContents(缩放内容)

可以自动缩放包裹图片

    //设置和widget一样的大小ui->label->setGeometry(0,0,800, 600);QPixmap q(":/pr/caixukun.png");ui->label->setPixmap(q);ui->label->setScaledContents(true);
}

声明的时候不能指定类区域

 void resizeEvent(QResizeEvent* event);
//重写resizeEvent,这个函数会在窗口大小变化时 被 自动调用
void Widget::resizeEvent(QResizeEvent *event)
{//重新设置新的尺寸ui->label->setGeometry(0,0, event->size().width(), event->size().height());}

alignment对齐

对齐方式,可以设置水平和垂直方向如何对其

wordWrap换行

实现换行

indent缩进

设置文本缩进

{ui->setupUi(this);//设置文字居中对齐//    ui->label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);//设置自动换行ui->label->setAlignment(Qt::AlignTop | Qt::AlignLeft);ui->label->setWordWrap(true);
//    ui->label->setText("踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩从踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩从");//设置首行缩进ui->label->setIndent(80);ui->label->setText("踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩从踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩从");
}

buddy

给QLabel关联一个 伙伴, 这样点击QLabel就能激活对应的伙伴。

此处把 label 中的⽂本设置为 “快捷键 &A” 这样的形式.

其中 & 后⾯跟着的字符, 就是快捷键.

可以通过 alt + A 的⽅式来触发该快捷键

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置label的伙伴widgetui->label->setBuddy(ui->radioButton);ui->label_2->setBuddy(ui->radioButton_2);
}

LCDNumber

通过设置定时器timer,绑定updatetime的自定义槽函数,来实现倒计时

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建QTimertimer = new QTimer(this);connect(timer, &QTimer::timeout, this, &Widget::updateTime);//启动QTimer,规定时间间隔1000秒timer->start(1000);
}Widget::~Widget()
{delete ui;
}
//更新时间
void Widget::updateTime()
{int value = ui->lcdNumber->intValue();if(value <= 0){timer->stop();return ;}ui->lcdNumber->display(value-1);
}

ProgressBar(进展条)

和上面的lcdnumber的接口差不多。

//更新进度条
void Widget::updateTime()
{int value = ui->progressBar->value();if(value >= 100){timer->stop();return ;}ui->progressBar->setValue(value+1);}

CalendarWidget日历控件

点击某一天,显示日期


void Widget::on_calendarWidget_selectionChanged()
{//获取日期QDate date = ui->calendarWidget->selectedDate();//显示日期ui->label->setText(date.toString());
}

相关文章:

widget一些控件的使用

QRadioButton使用 先使用ui界面拖拽创建radio button #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);ui->male->setChecked(true);//选中按钮ui->o…...

Python基础(七)之数值类型集合

Python基础&#xff08;七&#xff09;之数值类型集合 1、简介 集合&#xff0c;英文set。 集合&#xff08;set&#xff09;是由一个或多个元素组成&#xff0c;是一个无序且不可重复的序列。 集合&#xff08;set&#xff09;只存储不可变的数据类型&#xff0c;如Number、…...

电脑充电器能充手机吗?如何给手机充电?

电脑充电器可以给手机充电吗&#xff1f; 电脑充电器可以给手机充电&#xff0c;但前提是电脑充电器的功率输出与手机的功率匹配且接口匹配。 假设电脑充电器的输出功率为5V/2A&#xff0c;手机也支持5V/2A的输入功率。 只要接口匹配&#xff0c;就可以使用电脑充电器给手机充…...

矩阵中移动的最大次数

文章目录 所属专栏:BFS算法 题目链接 思路如下&#xff1a; 1.首先我们需要从第一列开始遍历&#xff0c;寻找每一个都能够满足条件的位置&#xff0c;将它插入到数组里面 2.第一列遍历完了后我们先判断第一列的数是否都满足条件插入到数组里面&#xff0c;如果数组为空&#…...

Linux:系统初始化,内核优化,性能优化(3)

优化系统的文件句柄数&#xff08;全局&#xff09; 也就是系统的最大文件数量 查看最大数量 cat /proc/sys/fs/file-max 当我们的服务器有非常大的一个数据并发的时候十几二十万的文件需要去配置&#xff0c;可能这个是远远不够的&#xff0c;我们就要去修改 vim /etc/sy…...

使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发

在快节奏的移动应用程序开发世界中&#xff0c;速度、可靠性和效率是决定项目成功或失败的关键因素。持续集成和持续部署 (CI/CD) 实践已成为确保满足这些方面的强大工具。当与流行的跨平台框架 Flutter 和 GitHub Actions 的自动化功能相结合时&#xff0c;开发人员可以创建无…...

微软 CEO Satya Nadella 的访谈

Nicolai: 大家好。我刚经历了人生中最不可思议的事情&#xff0c;我有幸采访了微软的 CEO、Satya Nadella。微软现在是全球市值最高的公司。真是太棒了&#xff0c;请继续关注。 第一章 微软的发展与平台转变 Nicolai: Satya&#xff0c;你是全球市值最高公司的 CEO&#xff…...

万界星空科技商业开源MES,技术支持+项目合作

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境&#xff1a;jdk11tomcatmysql8springbootmaven 可以免费使用&#xff0c;需要源码价格便宜&#xff0c;私信我获取。 一、系统概述&#xff1a; MES制造执…...

Docker Mysql无root账户创建最高权限用户

创建最高权限用户 进入 MySQL 容器的命令行界面。您可以使用以下命令&#xff1a; 修改配置文件my.cnf 无密码进入 [mysqld]下输入 skip-grant-tables重启mysql容器 进入容器内部 container_name 容器ID或name docker restart mysql docker exec -it <container_name>…...

常用芯片学习——DS3231M芯片

DS3231M RTC实时时钟 芯片介绍 DS3231M是一款低成本、极其精确的 I2C 实时时钟 &#xff08;RTC&#xff09;。该设备集成了电池输入&#xff0c;并在设备主电源中断时保持准确的计时。微型电子机械系统 &#xff08;MEMS&#xff09; 谐振器的集成提高了器件的长期精度&…...

蓝桥杯单片机快速开发笔记——矩阵键盘

一、原理分析 二、思维导图 三、示例框架 定义了四个位控制变量&#xff0c;用于控制键盘扫描时的行列信号。 在Scan_Keys()函数中&#xff0c;首先设置行列信号&#xff0c;将其中一个行信号置为0&#xff0c;另一个行信号置为1&#xff0c;同时将列信号置为1&#xff0c;用于…...

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…...

蓝桥杯刷题(十)

1.翻转 代码 输入数据&#xff0c;每组数据进行比较&#xff0c;j的范围掐头去尾&#xff0c;若a[j]b[j]&#xff0c;继续&#xff0c;若出现010,101子串则改成000,111&#xff0c;遍历完后比较a是否等于b&#xff0c;相同则输出次数&#xff0c;不同则输出-1。 for _ in ran…...

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

&#x1f31f; 绘图神器 ioDraw 重磅更新&#xff0c;文件保存再无忧&#xff01;&#x1f389; 无需注册&#xff0c;即刻畅绘&#xff01;✨ ioDraw 让你告别繁琐注册&#xff0c;尽情挥洒灵感&#xff01; 新增文件在线实时保存功能&#xff0c;支持将绘图文件保存到 GitHu…...

利用 Python 处理遥感影像数据:计算年度平均影像

在地球科学、气象学以及环境监测等领域&#xff0c;遥感影像数据是一种重要的信息源&#xff0c;它们可以提供地表的地形、植被覆盖、气候变化等丰富信息。然而&#xff0c;随着观测技术的进步&#xff0c;我们通常会获得大量的遥感影像数据&#xff0c;如何高效地处理和分析这…...

【Leetcode-73.矩阵置零】

题目&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&…...

redis 常见的异常

目录 一、缓存穿透 1、概念 解决方案 &#xff08;1&#xff09;布隆过滤器 (2)、缓存空对象 二、缓存雪崩 1、概念 解决方案 &#xff08;1&#xff09;redis高可用 &#xff08;2&#xff09;限流降级 &#xff08;3&#xff09;数据预热 一、缓存穿透 1、概念 缓…...

npm包、全局数据共享、分包

使用 npm 包 小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经支持使用 npm 安装第三方包&#xff0c;从而来提高小程序的开发效率。但是&#xff0c;在小程序中使用npm 包有如下 3 个限制&#xff1a; ① 不支持依赖于 Node.js 内置库的包 ② 不支持依赖于浏览器内置…...

UnityShader:IBL

效果&#xff1a; 实现&#xff1a; Shader "MyShader/IBL" {Properties{_CubeMap ("环境贴图", Cube) "white" {}_Exposure("曝光",float)1.0_Color("颜色",color)(1,1,1,1)_NormalMap("法线贴图",2d)"bu…...

每日五道java面试题之mybatis篇(三)

目录&#xff1a; 第一题. MyBatis的框架架构设计是怎么样的?第二题. 为什么需要预编译?第三题. Mybatis都有哪些Executor执行器&#xff1f;它们之间的区别是什么&#xff1f;第四题. Mybatis中如何指定使用哪一种Executor执行器&#xff1f;第五题. Mybatis是否支持延迟加载…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...