Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在QML中画一个圆弧/圆扇区?

在QML中画一个圆弧/圆扇区?
EN

Stack Overflow用户
提问于 2014-09-25 09:39:18
回答 4查看 26.7K关注 0票数 14

我知道,可以使用以下代码在QML中绘制圆圈:

代码语言:javascript
运行
AI代码解释
复制
Rectangle {
     width: 150
     height: 150
     anchors.horizontalCenter: parent.horizontalCenter
     anchors.top: parent.top
     color: "#095e7b"
     border.color: "#0a2f4a"
     border.width: 2
     radius: width*0.5
}

我的问题是:如果我需要画一个圆的扇形,该怎么办?(比萨饼片)并使每个切片可点击?我可以只使用QML来完成这个任务吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-25 10:10:00

是的,使用画布(和Context2D):

代码语言:javascript
运行
AI代码解释
复制
import QtQuick 2.3

Rectangle {
    width: 400
    height: 400

    Canvas {
        anchors.fill: parent
        onPaint: {
            var ctx = getContext("2d");
            ctx.reset();

            var centreX = width / 2;
            var centreY = height / 2;

            ctx.beginPath();
            ctx.fillStyle = "black";
            ctx.moveTo(centreX, centreY);
            ctx.arc(centreX, centreY, width / 4, 0, Math.PI * 0.5, false);
            ctx.lineTo(centreX, centreY);
            ctx.fill();

            ctx.beginPath();
            ctx.fillStyle = "red";
            ctx.moveTo(centreX, centreY);
            ctx.arc(centreX, centreY, width / 4, Math.PI * 0.5, Math.PI * 2, false);
            ctx.lineTo(centreX, centreY);
            ctx.fill();
        }
    }
}

实际上,在Qt的画布实现画布API时,我从HTML5答案中获取了这段代码。这使得在web上找到示例变得非常容易;例如,只需搜索“绘制饼片html5画布”即可。

为了老鼠的检测,你得把你的数学技能.

..。或者从这里窃取代码。:)

请注意,画布只有在调整大小或调用requestPaint()时才会重新绘制,因此,如果要根据鼠标位置更改切片的颜色,则需要调用该函数来查看颜色的变化。

票数 19
EN

Stack Overflow用户

发布于 2020-01-20 00:45:22

使用qml绘制它,您不需要画布。作为指导原则,在决定实现之前,我通常先看一下Qt的示例。下面的代码可以在“形状”示例中找到。

代码语言:javascript
运行
AI代码解释
复制
import QtQuick 2.11
import QtQuick.Shapes 1.15

Shape {
    width: 120
    height: 130
    anchors.bottom: parent.bottom
    anchors.right: parent.right
    // multisample, decide based on your scene settings
    layer.enabled: true
    layer.samples: 4

    ShapePath {
        fillColor: "black"
        strokeColor: "darkBlue"
        strokeWidth: 20
        capStyle: ShapePath.FlatCap

        PathAngleArc {
            centerX: 65; centerY: 95
            radiusX: 45; radiusY: 45
            startAngle: -180
            sweepAngle: 180
        }
    }
}
票数 15
EN

Stack Overflow用户

发布于 2016-04-25 07:30:03

使用图表http://doc.qt.io/QtCharts/qtcharts-qmlmodule.html

代码语言:javascript
运行
AI代码解释
复制
import QtQuick 2.0
import QtCharts 2.0

ChartView {
width: 400 
height: 300
theme: ChartView.ChartThemeBrownSand
antialiasing: true

PieSeries {
    id: pieSeries
    PieSlice { label: "eaten"; value: 94.9 }
    PieSlice { label: "not yet eaten"; value: 5.1 }
}
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26044801

复制
相关文章
最大宽度最小宽度
    css3又加入了min-width,min-height,max-with,max-height等属性
十月梦想
2018/08/29
3.2K0
页面内容最大宽度推导
在制定布局规范的过程中遇到了一个问题,内容区域的最小最大宽要定多少呢?一直以来好像都没有认真想过这个问题,于是翻了下几个主流的设计规范,都没有看到相关的定义,只好用开发者工作大概看了看。
GhostZhang
2022/10/04
1.2K0
页面内容最大宽度推导
使SplitContainer中某个Panel宽度、高度不变[通俗易懂]
上边代码字面意思是将水平、或垂直分开的SplitContainer的分区长度设置为120
全栈程序员站长
2022/09/09
9100
使SplitContainer中某个Panel宽度、高度不变[通俗易懂]
[BCG]使属性页表单实现最大化最小化按钮1[可拖拽]
原文链接:http://blog.csdn.net/humanking7/article/details/52598085
祥知道
2020/03/10
7960
[译]响应式图像
自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在众多设备宽度下,使用同一图像源。你愿意在一个大显示屏上显示模糊地、马赛克状的图像?你愿意在你的手机上加载一个巨大的(虽然更漂亮的)图像?这个问题令人左右为难。
Jace
2018/08/01
2.3K0
[译]响应式图像
[译]响应式图像
练小习
2017/12/29
2.2K0
响应式图像
将picture元素和srcset,sizes属性纳入html5规范,新规范意在解决:
超然
2018/08/03
2.6K0
响应式图像
如何使大数据分析的价值最大化?
近年来,大数据技术以各种不同的方式影响着我们的生活。通过对大量数据加以分析,政府、企业和学者等可以找到有价值的东西,从而提升我们的生活水平,改善我们的生活和工作方式。越来越多的企业利用大数据分析工具找到发展趋势和适合企业发展的方法,从而为合伙人带来利益。 数据集的内存都是以千兆字节计算的,因此要对如此巨大的数据进行分析也是一项挑战,并且往往都有时间要求,只有对数据快速的解读和分析才能更快做出决策。 如果找不到适宜的分析工具,那么大数据的管理和分析就非常浪费时间。这里提供几种提高大数据分析价值的方法 1 数据
CDA数据分析师
2018/02/11
9350
LeetCode 962. 最大宽度坡(单调栈)
给定一个整数数组 A,坡是元组 (i, j),其中 i < j 且 A[i] <= A[j]。这样的坡的宽度为 j - i。
Michael阿明
2020/07/13
8610
LeetCode 962. 最大宽度坡(单调栈)
二叉树最大宽度与leetcode662的二叉树最大宽度
首先先实现二叉树的最大宽度,也就是某一层最多的节点个数,使用了两种方法,第一种是使用一个map数组盛放当前节点以及当前节点的层数。
gzq大数据
2021/11/24
4560
二叉树最大宽度与leetcode662的二叉树最大宽度
2023-06-08:给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每
将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,
福大大架构师每日一题
2023/06/09
2320
2023-06-08:给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每
通过构造方法使属性初始化
在Student类中定义两个构造方法publicStudent(String name)和public Student(String name,int score)。在使用new运算符创建对象,由于实际参数是一个String类型的数据"林冲",因此在实例化时会调用有一个String类型参数的构造方法,即public Student(String name),并且将实际参数"林冲"赋值给形式参数name。
算法与编程之美
2023/08/22
1670
通过构造方法使属性初始化
662. 二叉树最大宽度
给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。 每一层的宽度被定义为两个端点(该
编程张无忌
2021/06/22
5560
662. 二叉树最大宽度
[ISUX译]响应式图像 - 腾讯ISUX
自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在众多设备宽度下,使用同一图像源。你愿意在一个大显示屏上显示模糊地、马赛克状的图像?你愿意在你的手机上加载一个巨大的(虽然更漂亮的)图像?这个问题令人左右为难。 一群来自响应式问题社区组(RICG)的聪明家伙致力于解决这个难题,他们使picture元素和srcset、sizes属性纳入HTML 5.1规范草案 。因为我们无法预测用户在何地以及如何访问我
腾讯ISUX
2018/06/29
1.3K0
Android 自定义最大宽度,高度, 宽高比例 Layout
这篇博客主要介绍的是怎样自定义一个可以指定最大宽度,高度,以及宽高比的 Layout。原理其实很简单,就是通过重写 onMeasure 方法,重新制定 MeasureSpec。
程序员徐公
2019/03/11
2.5K0
Android 自定义最大宽度,高度, 宽高比例 Layout
1501 二叉树最大宽度和高度
1501 二叉树最大宽度和高度 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description     给出一个二叉树,输出它的最大宽度和高度。 输入描述 Input Description 第一行一个整数n。 下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。 输出描述 Output Description 输出共一行,输出二叉树的最大宽度和高度,用一个空格隔开。 样例
attack
2018/04/12
8910
巧用CSS3的calc()宽度计算做响应模式布局
来源 | http://www.fly63.com/article/detial/10019
winty
2021/01/05
1.7K0
巧用CSS3的calc()宽度计算做响应模式布局
如何使 Grafana as code
Grafana Dashboard 可以做很多事情,但您知道其实是可以通过代码来配置管理 Grafana Dashboard 的吗?本文是 Grafana Labs 软件开发工程师 Malcolm Holmes 和 Inuits 的开源顾问 Julien Pivotto 在 FOSDEM 2020 上的 topic 演讲记录。演讲中,两人讨论了如何使用代码来管理您的 Grafana 实例,并介绍了一些使用 Jsonnet[1] 的秘诀和技巧以及 Grafonnet[2](一个用于生成 Grafana Dashboard 的 Jsonnet 库)。
郭旭东
2020/12/30
1.7K0
如何使 Grafana as code
opencv: 获取 图像属性 (源码)
  说明了读取的图片是一张 大小 为 (424, 600, 3) ,数据类型 为 uint8 ,像素总数 为 763200 的图片。
JNingWei
2018/09/28
1.3K0
[前沿]数字克隆技术,使机器寿命最大化
转自:网易科技频道 据NASA网站报道,正如医学研究人员希望利用DNA分析帮助病人活得更长和更健康一样,Sentient Science公司的工程师希望能更好地了解机器是由什么材料做的,以使机器寿命最大化。 这家纽约州布法罗公司的CEO及总裁沃德·托马斯(Ward Thomas)表示:“我们要做的事情真的很难。我们将着手破解材料的基因组。”潜在的回报是巨大的。这将有助于指导如何使用机器以及如何设计寿命最长、最节能系统的决策。相比以前的物理测试模型,这种将信息编入数字系统中的方法可更快、更全面和更节约成本地完
大数据文摘
2018/05/24
4690

相似问题

如何使我的图像响应,最大宽度不工作

23

图像对最大宽度属性没有响应。

20

图像的宽度和最大宽度属性

43

如何使IE支持最小宽度/最大宽度CSS属性?

35

最大高度和最大宽度的响应图像

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档