- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在未填充时绘制一个圆圈,当用户点击它时,它应该被填充。在圆圈内我想写一个数字。
我尝试了 QPixmap、QLabel 和一些 QPainterPath 来让它工作,但我无法这样做。我怎样才能做到这一点?
我需要圆圈没有背景,只在圆圈内有一个数字。圆圈内部的填充是可选的,一次填充颜色,一次不填充。请指教。
最佳答案
这通过子类化 QWidget 非常简单,如下面的示例代码所示:
#include <QApplication>
#include <QMouseEvent>
#include <QWidget>
#include <QPainter>
class CircleWidget : public QWidget
{
public:
CircleWidget(int number) : _number(number), _fill(false) {/*empty*/}
virtual void paintEvent(QPaintEvent * e)
{
e->accept();
QPainter p(this);
QRect r = rect();
p.setPen(Qt::black);
if (_fill) p.setBrush(Qt::green);
p.drawEllipse(r);
p.drawText(r, Qt::AlignCenter, QString("%1").arg(_number));
}
virtual void mousePressEvent(QMouseEvent * e)
{
_fill = !_fill;
update(); // this will induce another call to paintEvent() ASAP
e->accept();
}
private:
const int _number;
bool _fill;
};
int main(int argc, char ** argv)
{
QApplication app(argc, argv);
CircleWidget cw(5);
cw.resize(60,60);
cw.show();
return app.exec();
}
关于c++ - 画一个里面有数字的实心圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770431/
我想以 headless 模式(屏幕上根本没有 GUI)将 JPanel 绘制到 BufferedImage 中。 final JPanel panel = createPanel(); panel.
我是 Canvas 的新手,正在尝试创建看起来逼真的 float 粒子动画。 目前,我正在创建 400 个随机散布在 400x400 Canvas 上的粒子。 然后,在每个 requestAnimat
有没有办法在悬停时停止悬 float 画? :hover 这是一个显示动画的链接: https://codepen.io/youbiteme/pen/RprPrN 最佳答案 只需为您的 svg 悬停添
我想在谷歌地图上绘制覆盖图,其中除了特定点周围 1.5 公里半径以外的所有内容都被遮蔽了。为此,我尝试使用带有大量边框的圆圈,所以我会在边框中放置透明中心和覆盖颜色来实现这一点,但它无法渲染。
我正在尝试通过扩展类 UIView 来创建自定义 View ,该类可以在自定义 View 的中心显示一个圆圈。为了添加自定义绘图,我重写了 draw(_ rect: CGRect) 方法,如下所示。
我是一名优秀的程序员,十分优秀!