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

QML学习笔记(四十一)QML的ColorDialog和FontDialog

前言

本节将了解两个弹窗,分别是颜色选择和字体选择。
它们的使用都很简单,直接看代码吧。

一、代码演示

import QtQuick 2.14
import QtQuick.Window 2.14
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import QtQuick.Dialogs 1.2Window {visible: truewidth: 640height: 480title: qsTr("Hello World")Row {anchors.centerIn: parentspacing: 20/* 1. 颜色按钮 */Rectangle {id: colorRectwidth: 60; height: 40color: "steelblue"border.width: 1MouseArea {anchors.fill: parentonClicked: colorDlg.open()}}/* 2. 字体标签 */Label {id: fontLbltext: "Hello Qt"font.pixelSize: 16MouseArea {anchors.fill: parentonClicked: fontDlg.open()}}}/* 3. 颜色对话框 */ColorDialog {id: colorDlgcolor: colorRect.coloronAccepted: colorRect.color = color}/* 4. 字体对话框 */FontDialog {id: fontDlgfont: fontLbl.fontonAccepted: fontLbl.font = font}}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
我们可以点击颜色矩形和文本标签,通过弹窗来修改颜色和字体。

二、总结

可以看到,其实代码使用上是非常简单的。颜色选择框和字体选择框我曾经在绘图软件上使用过,还算是比较常用的。
它的样式你可能会觉得丑丑的,但它更多是贴合系统平台的原生弹窗,你如果在不同平台下调用这些弹窗,可能风格往往不一样。
因为这种弹窗的效果不固定,你感兴趣的话大可以自己重新实现一个,就是比较麻烦,实际开发中也很少会有这样的资源和人力物力去推动这件事情。
所以抱着能用就行的原则,大多也就直接选择了这种“系统”弹窗。不过值得注意的是,我们往往还要考虑一个翻译的问题,不然弹窗内部的提示文字全都是默认英文的。
如果是QtQuick.Dialogs 1.x的话,我们和QWidget一样直接走qm的翻译方式即可。
即直接加载qt_zh_CN.qm:

QTranslator qtTr;
qtTr.load("qt_zh_CN",QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTr);      // 官方 qt 按钮翻译
http://www.dtcms.com/a/495404.html

相关文章:

  • [LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
  • 使用 Loki + Promtail + Grafana搭建日志系统
  • PySide 查找功能大杂烩 基于文本编辑器(QPlainTextEdit)
  • Vue3 路由配置和使用与讲解(超级详细)
  • 东盟建设集团重庆工程有限公司网站500强企业排名(2022最新名单)
  • 初次使用基于K3S的大数据平台
  • 极简入门Zookeeper
  • 国产工业软件:制造强国的“破局”之路
  • 从重机展到全球市场:数字化助力装备制造企业实现规范化管理
  • 半导体制造工艺基本认识 二 氧化
  • MongoDB 是关系型数据库吗?
  • 织梦dedecms网站内容页wordpress rss导入
  • RAG各模块联合优化思路:多智能体协作建模-MMOA-RAG浅尝
  • 【小白笔记】KNN 核心预测函数 _predict_one 的过程
  • 营销人职业成长路径:从执行到战略的能力进阶与知识体系构建
  • Elasticsearch 推理 API 增加了开放的可定制服务
  • 做电影网站还能赚钱ace wordpress
  • 建设农家书屋官方网站临沂设计网站的公司
  • 10.queue的模拟实现
  • 有多少网站可以推广业务阿里云个人网站建设
  • 【知识点总结】Vue2 与 Vue2 区别
  • 【CV】神经网络中哪些参数需要被学习?
  • Spring两大漏洞可导致泄露敏感信息及安全防护绕过(CVE-2025-41253/41254)
  • 了解一个文件签名验证工具——sigverif
  • 河北建筑网站江小白网络营销案例
  • 张家口网站建设开发网站开发案例教程
  • 【NestJS】class-transformer什么用
  • 【word多文档docx合并】
  • Endnote | word中加载项消失不见,如何处理?
  • 聊聊 Unity(小白专享、C# 小程序 之 图片播放器)