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

Qt知识点总结

将枚举类型转换为字符串

  • 这里使用的在网络编程中,获取socket状态并显示的时候,遇到的一个问题
#include <QMetaEnum>// 将枚举类型转换为字符串
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketState>();
const char *c_str = metaEnum.valueToKey(socketState);
QString str = QString(c_str);

使用事件过滤器实现,点击lineEdit,按下回车,调用btn的点击槽函数

// 首先为lineEdit安装事件过滤器
ui->lineEdit->installEventFilter(this);// 事件过滤器函数
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{// 判断当前对象是否是lineEdit,并且判断是否是键盘事件if (obj == ui->lineEdit && event->type() == QEvent::KeyPress){// 静态转换QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);// 判断是否是enter键,这里还有个key_Returnif (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return){// 调用点击槽函数ui->btnSendMsg->click();return true; // 拦截事件,不再传递给editMessage}}return QObject::eventFilter(obj, event);
}

设置插入到QplainTextEdit中的文字样式

void MainWindow::InsertPlantText(QString &str, int fontSize, QColor fontColor, QColor backColor)
{// 先保存当前的字符格式QTextCharFormat originFmt = ui->plainTextEdit->currentCharFormat();// 设置新的字符格式QTextCharFormat fmt;// 设置字体大小fmt.setFontPointSize(fontSize);// 设置字体色fmt.setForeground(QBrush(fontColor));// 设置背景色fmt.setBackground(QBrush(backColor));// 设置文本框格式ui->plainTextEdit->mergeCurrentCharFormat(fmt);//文本框添加文本ui->plainTextEdit->appendPlainText(text);// 设置回之前的字符格式ui->plainTextEdit->setCurrentCharFormat(originFmt);
}

设置图标

  • 设置运行后,左上角和下面任务栏的图标
// 设置图标
this->setWindowIcon(QIcon(":/images/wx.ico"));  // "xxx"中填路径
  • 设置exe文件的图标
// 在xxx.pro中添加 - 注意这里要填wx.ico对于xxx.pro的相对路径
RC_ICONS += wx.ico  

相关文章:

  • JAVA线程执行中断方式和ElasticSearch未捕获异常的处理方式
  • Meta开源Code Llama 70B,缩小与GPT-4之间的技术鸿沟
  • leetcode-存在重复元素 II
  • 批量将csv文件转成excel
  • 2023年春秋杯网络安全联赛冬季赛_做题记录
  • Linux/ScriptKiddie
  • 18.通过telepresence调试部署在Kubernetes上的微服务
  • C++对象模型和this指针,const修饰成员函数详解
  • 【爬虫用户代理和ip自动生成】
  • 大中型企业DevSecOps建设
  • kubernetes-快速部署一套k8s集群
  • GDB调试技巧实战--自动化画出类关系图
  • 【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示(使用Promise.all和Promise.race)
  • HTTPS 之fiddler抓包--jmeter请求
  • 人脸识别 FaceNet人脸识别(一种人脸识别与聚类的统一嵌入表示)
  • 【Amaple教程】5. 插件
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 10个最佳ES6特性 ES7与ES8的特性
  • Angular数据绑定机制
  • Consul Config 使用Git做版本控制的实现
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • jquery ajax学习笔记
  • JWT究竟是什么呢?
  • opencv python Meanshift 和 Camshift
  • 安装python包到指定虚拟环境
  • 从输入URL到页面加载发生了什么
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 微服务入门【系列视频课程】
  • 移动端唤起键盘时取消position:fixed定位
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #Linux(Source Insight安装及工程建立)
  • #QT项目实战(天气预报)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (12)Linux 常见的三种进程状态
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (四)linux文件内容查看
  • (一)基于IDEA的JAVA基础12
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)Linq学习笔记
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ****Linux下Mysql的安装和配置
  • .Net OpenCVSharp生成灰度图和二值图
  • .net refrector
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .Net小白的大学四年,内含面经
  • .Net组件程序设计之线程、并发管理(一)
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @font-face 用字体画图标
  • [ C++ ] 类和对象( 下 )