QT自定义button绘制
重载QPushButton的paintEvent(QPaintEvent *e)
void paintEvent(QPaintEvent *e)
{
QPushButton::paintEvent(e);
//设置画布
QPainter painter(this);
//设置原点,默认原点为左上角
painter.setWindow(0,0,width(),height());
//设置渲染效果,抗锯齿
painter.setRenderHint(QPainter::Antialiasing,true)
//设置画刷
QBrush brush(QColor(0,0,0); #设置填充颜色
QBrush brush(Qt::QBrushStyle); #设置填充图案
painter.setBrush(brush);
//绘制画布,填充区域
painter.drawRoundedRect(QRect(0,0,width(),height()),0,0);
//设置QPen
QPen pen(QColor(0,0,0)); #设置颜色
pen.setWidth(1); #设置粗细
pen.setStyle(Qt::DashLine); #设置线条风格为虚线
pen.setDashPattern(QVector<qreal>() << 1 << 2); #设置实线与虚线的间隔
painter.setPen(pen); #设置pen
//绘制图形
painter.drawLine(0,0,1,1); #绘制直线(0,0)-(1,1)
QPolygonF points; #多边形按照放入的顺序进行连线
painter.drawPolygon(points); #绘制封闭多边形
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具