一、简述
在上一篇文章中我们讲述了如何实现不规则按钮( Qt简述如何实现不规则按钮),其中提到了另外一种方法就是自绘,今天就此谈一谈如何自绘实现一个圆盘式的按钮。下面先看一张效果图。

二、代码之路
其实实现很简单,就是通过Qt的QPainterPath来实现圆弧式按钮的绘制,然后通过鼠标事件实现点击效果及点击信号的发送。因为正常QPushButton或者QToolButton是自己发送clicked或者pressed、release等信号的,既然我们是通过自绘而不是继承button,那这些信号都需要我们自己来实现了,如果不知道具体按钮的某个信号是如何发送的或者是何时发送的可以参考源码。下面直接上代码。
CustomButton.h
#pragma once
#include <QtWidgets/QWidget>
class CustomButton : public QWidget
{
Q_OBJECT
public:
CustomButton(QWidget* parent = NULL);
// 设置弧长及半径;
void setRadiusValu
本文介绍了如何使用Qt的QPainterPath自绘一个圆盘式的不规则按钮,并详细讲解了实现过程,包括如何处理鼠标事件以模拟按钮的点击效果和发送信号。提供了一个可以定制颜色、文字、圆弧参数的CustomButton头文件代码示例。
订阅专栏 解锁全文
942

被折叠的 条评论
为什么被折叠?



