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

Qt 5.14.2 学习记录 —— 팔 QWidget 常用控件(3)

文章目录

  • 1、cursor
  • 2、font
  • 3、toolTip
  • 4、focusPolicy
  • 5、styleSheet


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、styleSheet

通过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);");

虽然这样也不够具体,但日常使用就可以了。

结束。


http://www.mrgr.cn/news/83131.html

相关文章:

  • 【C++】std::string和size()函数进阶解析
  • 基于高斯混合模型的数据分析及其延伸应用(具体代码分析)
  • CTF知识点总结(二)
  • ubuntu安装ssh9.2
  • 物联网无线芯片模组方案,设备智能化交互升级,ESP32-C3控制应用
  • uniapp结合movable-area与movable-view实现拖拽功能2
  • 个人博客搭建(二)—Typora+PicGo+OSS
  • 学习记录:C++基类构造函数的调用:理解和实践
  • selenium+pyqt5自动化工具总结
  • 夯实前端基础之HTML篇
  • 算法 -归并排序
  • 华为OD E卷(100分)50-预订酒店
  • 示波器Oscilloscope的使用方法
  • (长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
  • 学习记录:C++ 中 const 引用的使用及其好处
  • Spring AMQP-保证消费者消息的可靠性
  • 通俗易懂之线性回归时序预测PyTorch实践
  • 在 Ubuntu 22.04 上部署 AppArmor 应用安全教程
  • 现场展示deepseek VS openAI o1模型大对比
  • 论文笔记:FDTI: Fine-grained Deep Traffic Inference with Roadnet-enriched Graph
  • STM32供电参考设计
  • Windows下安装最新版的OpenSSL,并解决OpenSSL不是当前版本的问题,或者安装不正确的问题
  • 如何在 Ubuntu 22.04 上配置 Logrotate 高级教程
  • SpringBoot操作spark处理hdfs文件
  • 机器学习之随机森林算法实现和特征重要性排名可视化
  • B树及其Java实现详解