Qt 5.14.2 学习记录 —— 팔 QWidget 常用控件(3)
文章目录
- 1、cursor
- 2、font
- 3、toolTip
- 4、focusPolicy
- 5、styleSheeyt
1、cursor
改变鼠标光标形状。

在Qt Designer界面中,拖一个按钮过来,右边属性面用户可以自己改cursor属性。
代码方法,先拖一个按钮到界面上:
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QCursor cursor(Qt::WaitCursor);ui->pushButton->setCursor(cursor);
}
左击WaitCursor,ctrl + 左键就可以看到库中自带的都有哪些样式。
要自定义,那就把图片导入到qrc中,和上一篇博客写的一样的方法,而widget.cpp中要用QPixmap这个对象来表示一个图片。
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPixmap pixmap(":/aaa.png");QCursor cursor(pixmap);ui->pushButton->setCursor(cursor);
}
不过此时默认,鼠标点击时是在图片的左上角点击了一个点,可以修改这个位置
QCursor cursor(pixmap, 4, 7);
后面的两个数字是热点的位置,以图片左上角为原点,那么(4, 7)就是鼠标真正点击的位置。
图片缩放
// 不修改原图片而返回新图片
pixmap = pixmap.scaled(40, 70);
这里有大量免费图标可供下载:阿里巴巴矢量图标库
2、font

QFont

拖拽一个控件到界面,就可以更改文本的font属性。
代码:
#include <QLabel>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QLabel* label = new QLabel(this);label->setText("文本");QFont font;font.setFamily("仿宋");font.setPixelSize(47);font.setBold(true);font.setItalic(true);font.setUnderline(true);font.setStrikeOut(true);label->setFont(font);
}
3、toolTip
鼠标悬停到某个控件时,就能显示这个控件的作用。
setToolTip设置提示的内容,setToolTipDuration设置提示存在的时间,单位为ms。
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->pushButton_yes->setToolTip("yes按钮");ui->pushButton_yes->setToolTipDuration(4000);ui->pushButton_no->setToolTip("no按钮");ui->pushButton_no->setToolTipDuration(7000);
}
4、focusPolicy
关于焦点,点击输入框,才能输入内容,如果中途点击了其它地方,再次敲键盘,输入框就没有继续输入内容。这个属性设置控件获取到焦点的策略。
控件获取到焦点的方式通常为鼠标点击和tab键。


拖多个Line Edit控件到界面,运行查看,默认鼠标左键和tab键可以修改焦点。修改属性的focusPolicy为NoFocus,这个框就得不到焦点了。
5、styleSheeyt
通过CSS设置widget的样式,这些样式叫QSS,比CSS功能缺失一些。 QSS写的格式和CSS一样。
拖一个控件到界面上,右键修改样式表或者右边属性栏里styleSheet那里也可以修改样式表。

要查看可设置的属性,在Qt文档中搜索Qt Style Sheet。
代码实现夜间模式:

// 拖一个Plain Text Edit
// 拖两个按钮, 分别用来切换日间和夜间模式void Widget::on_pushButton_light_clicked()
{this->setStyleSheet("background-color: write;");ui->plainTextEdit->setStyleSheet("background-color: white; color: black;");ui->pushButton_light->setStyleSheet("color: black");ui->pushButton_dark->setStyleSheet("color: black");
}void Widget::on_pushButton_dark_clicked()
{this->setStyleSheet("background-color: black;");ui->plainTextEdit->setStyleSheet("background-color: black; color: white;");ui->pushButton_light->setStyleSheet("color: white");ui->pushButton_dark->setStyleSheet("color: white");
}
// 更具体的颜色可以这样设置
this->setStyleSheet("background-color: rgb(240, 240, 240);");
虽然这样也不够具体,但日常使用就可以了。
结束。
相关文章:
Qt 5.14.2 学习记录 —— 팔 QWidget 常用控件(3)
文章目录 1、cursor2、font3、toolTip4、focusPolicy5、styleSheeyt 1、cursor 改变鼠标光标形状。 在Qt Designer界面中,拖一个按钮过来,右边属性面用户可以自己改cursor属性。 代码方法,先拖一个按钮到界面上: #include <…...
HTTP协议和WebSocket协议
传统的HTTP协议是单向通信的,客户端若想要与服务器进行通信,首先需要通过三次握手与服务器建立TCP连接,然后再向服务器发送数据请求,当客户端收到服务器响应回来的数据后,就会断开TCP连接,每次数据请求都需…...
校园网断网自检测重链接
由于博主比较懒,所以经常喜欢在宿舍通过todesk远程控制工位电脑办公。但是由于交专的校园网经常断连,也不好意思一直麻烦同门帮忙连网,于是参考runepic博主的链接,实现了工位电脑的校园网断网自检测重链接功能。 参考链接…...
LAMP搭建
LAMP搭建 引子:本篇文章为LAMP的搭建流程,其中L(Ubuntu)、A(Apache)、M(Mysql)、P(PHP)。 一、L → Ubuntu Step 1:在Vmware Workstation中使…...
Sentinel-5P遥感数据下载及预处理教程【20250105】
Sentinel-5P是欧空局(Europe Space Agency,ESA)于2017年10月13日发射的一颗全球大气污染监测卫星。卫星搭载了对流层观测仪(Tropospheric Monitoring Instrument,TROPOMI),可以有效的观测全球各…...
手写@MapperScan
定义一个EnableMapperScan注解 Import(MapperProxyHandlerRegister.class) 标注将MapperProxyHandlerRegister导入到容器中。 Target({ElementType.METHOD,ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Import(MapperProxyHandlerRegister.class) public interface…...
【C++】深入理解迭代器(Iterator)
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯什么是迭代器?迭代器与指针的比较 💯std::string 中的迭代器示例代码与图示分析运行结果:图示说明: 小提示 💯正…...
后端Java开发:第十二天
第十二天:封装 - 理解与应用 欢迎来到今天的学习内容!今天,我们将一起深入探讨 Java 中的 封装(Encapsulation)。封装是面向对象编程的四大基本特性之一,它的核心思想是把对象的状态(属性&…...
记录一下Coding一直不能clone
配置 下载git客户端,进行配置 git config --list user.name姓名全称 user.emailIAM_xxxxxx.com ,这个就是你的邮箱地址 user.signingkey 注册coding平台的密码 一般不需要配置公钥私钥 下载TortoiseGit,配置这几个参数 配置凭据管理器 注意 这里用户名是…...
LLM加速方法,Adapter Tuning和Prompt Tuning的区别及原理举例
LLM加速方法 目录 LLM加速方法整体结构各分支内容Adapter Tuning和Prompt Tuning的区别及原理举例一、区别二、总结整体结构 基于模型微调、基于模型压缩、基于分布式并行处理。 各分支内容 基于模型微调: 包含Adapter Tuning、Prompt Tuning、LoRA三个子类别。这些技术主要…...
【SVN】版本发布快捷操作
摘要:因为每次发版都需要制作一份相同的文件夹,而大部分的包都不需要变更,但是文件又非常大,记录自己的操作经验。 首先在SVN Repository Browser 界面把上一次的版本复制一份,复制的时候重命名为新的版本号 右击要复…...
GitLab 创建项目、删除项目
1、创建项目 点击左上角图标,回到首页 点击 Create a project 点击 Create blank project 输入项目名称,点击Create Project 创建成功 2、删除项目 进入项目列表 点击对应项目,进入项目 进入Settings页面 拖到页面底部,展开Adva…...
STM32-笔记37-吸烟室管控系统项目
一、项目需求 1. 使用 mq-2 获取环境烟雾值,并显示在 LCD1602 上; 2. 按键修改阈值,并显示在 LCD1602 上; 3. 烟雾值超过阈值时,蜂鸣器长响,风扇打开;烟雾值小于阈值时,蜂鸣器不响…...
VisionPro软件Image Stitch拼接算法
2D图像拼接的3种情景 1.一只相机取像位置固定,或者多只相机固定位置拍图,硬拷贝拼图,采用CopyRegion工具实现 2.一只或多只相机在多个位置拍照,相机视野互相重叠,基于Patmax特征定位后,无缝 拼图ÿ…...
【从零开始入门unity游戏开发之——unity篇09】unity6基础入门——Unity游戏对象和组件的本质、Unity中的反射机制
文章目录 一、Unity游戏对象和组件的本质1、开发游戏的本质2、万物之根本——空对象2.1 什么是空对象?2.2 创建空对象 3、Unity游戏对象的本质4、 transform组件4.1 transform组件的重要性4.2 修改transform的值4.4 **Transform的作用**4.3 重置transform的值 5、总…...
【Linux】深入理解文件系统(超详细)
目录 一.磁盘 1-1 磁盘、服务器、机柜、机房 📌补充: 📌通常网络中用高低电平,磁盘中用磁化方向来表示。以下是具体说明: 📌如果有一块磁盘要进行销毁该怎么办? 1-2 磁盘存储结构 编辑…...
MoEs and Transformers 笔记
ref:https://huggingface.co/blog/zh/moe#%E7%94%A8router-z-loss%E7%A8%B3%E5%AE%9A%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83 MoEs and Transformers Transformer 类模型明确表明,增加参数数量可以提高性能,因此谷歌使用 GShard 尝试将 Transformer 模型…...
在Linux中,如何禁用root用户直接SSH登录?
在Linux中禁用root用户的直接SSH登录是为了增强系统的安全性,因为允许root用户通过SSH远程登录会增加服务器被暴力破解的风险。以下是在Linux系统中禁止root用户直接SSH登录的步骤: 编辑SSH配置文件: 打开/etc/ssh/sshd_config文件ÿ…...
用Python实现简单的任务自动化
目录 1. 自动发送邮件提醒 2. 自动备份文件 3. 自动下载网页内容 总结 在现代工作和生活中,任务自动化可以极大地提高效率和准确性。Python,作为一种功能强大且易于学习的编程语言,是实现任务自动化的理想选择。本文将通过几个简单而实用的案例,展示如何用Python实现任…...
为AI聊天工具添加一个知识系统 之26 资源存储库和资源管理器
本文要点 资源存储库 为了能完成本项目(“为AI聊天工具增加一个知识系统”,其核心能力是“语言处理” ,该能力的最大挑战 当仁不让的应该是自然语言处理)的设计,我们考虑一个问题:在自然语言处理中&#…...
别再被mmcv和mmseg升级搞崩溃了!手把手教你从1.x平滑迁移到2.x(附完整API对照表)
从MMSegmentation 1.x到2.x的无痛迁移指南:架构变革与API重构全景解析 第一次尝试将项目从MMSegmentation 1.x升级到2.x时,我盯着满屏红色报错信息足足发呆了十分钟——这感觉就像走进一个熟悉的房间却发现所有家具都被重新摆放了。作为OpenMMLab生态的重…...
RPC数据集整理与 Scalabel 标注说明
RPC数据集整理与 Scalabel 标注说明 1. RPC 数据集简介 RPC(Retail Product Checkout Dataset)是一个面向自动结算(ACO, Automatic Checkout)场景的大规模零售商品数据集,核心目标是从结算台图像中自动识别商品并生成购…...
AWS首席执行官解释为何同时投资Anthropic与OpenAI并不存在冲突
AWS首席执行官马特加曼表示,亚马逊近期对OpenAI完成了500亿美元的投资,此前已与Anthropic建立长期合作关系并累计投入80亿美元。他认为,对于这家云计算巨头而言,处理此类利益冲突早已是家常便饭。加曼在本周于旧金山举办的HumanX大…...
您知道什么是AspectJ吗?【Java AOP的静态编织引擎】
目录 前言 核心洞察 核心概念与运行机制 1. 连接点 (Join Point) 2. 切入点 (Pointcut) 3. 通知 (Advice) 4. 切面 (Aspect) 三种编织方式 1. 编译时编织 (Compile-time Weaving) 2. 编译后编织 (Post-compile Weaving) 3. 加载时编织 (Load-time Weaving, LTW) Sp…...
量子机器学习:传统AI的颠覆者?
测试工程师的技术十字路口当量子计算以叠加态、纠缠态等特性突破经典计算边界时,其与人工智能融合催生的量子机器学习(QML) 正引发软件测试领域的范式变革。本文将从测试验证逻辑、工具链演进及质量保障体系三方面,剖析QML对传统A…...
WinCDEmu:开源虚拟光驱工具的技术架构与实践指南
WinCDEmu:开源虚拟光驱工具的技术架构与实践指南 【免费下载链接】WinCDEmu 项目地址: https://gitcode.com/gh_mirrors/wi/WinCDEmu 副标题:5个核心优势让你高效管理光盘映像文件 一、核心价值解析 WinCDEmu作为一款开源虚拟光驱解决方案&…...
AudioLM-PyTorch代码深度解析:架构设计、模块实现与扩展方法
AudioLM-PyTorch代码深度解析:架构设计、模块实现与扩展方法 【免费下载链接】audiolm-pytorch Implementation of AudioLM, a SOTA Language Modeling Approach to Audio Generation out of Google Research, in Pytorch 项目地址: https://gitcode.com/gh_mirro…...
5大技术突破:VR-Reversal如何重新定义普通设备的VR视频解码体验
5大技术突破:VR-Reversal如何重新定义普通设备的VR视频解码体验 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.…...
别再数据线了!用FastAPI 分钟搭个局域网文件+剪贴板神器伊
为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...
【传统图像增强算法3】- 伽马校正(Gamma Correction)完全解析
三、伽马校正(Gamma Correction) 3.1 伽马校正核心定义与应用价值 在图像增强、显示校准的实际应用中,我们常常会遇到一个问题:人眼对亮度的感知是非线性的,而显示设备(LCD/OLED/CRT)的输入输出…...
