c++ - Qt 椭圆边框变细

标签 c++ qt border ellipse

我试图在 Qt 中绘制一个椭圆,边缘的边框在某些地方变薄。

enter image description here

这是代码:

QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 3));
painter.drawEllipse(event->rect());

有什么想法吗?提前致谢。

最佳答案

用轮廓绘制形状时,必须考虑笔的宽度。因此,根据您的情况,更改为:

// Adjusted by 2 pixels because half your pen width is 1.5, but QRect is
// for integer types, so rounded up.
painter.drawEllipse(event->rect().adjusted( -2, -2, 2, 2 ) );

关于c++ - Qt 椭圆边框变细,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11239964/

相关文章:

qt - 在 QTreeView 中显示来自 QAbstractTableModel 的数据

ios - CALayer边框奇怪问题

html - webkit border-radius 切断边框

c++ - 将 const char 数组分配给 char 数组

c++ - 为什么这段代码没有找到我的集合中最长字符串的长度?

C++ 带有派生类的模板专门化

c++ - 使用 xperf 分析网络事件

c++ - QCryptographicHash 对于同一字符串给出不同的结果

c++ - 动画围绕特定轴的 qt3d 旋转

javascript - React Native 中 View 的反转边框半径