1.设置圆角控件:
connectPB->setStyleSheet ("border:2px groove gray;border-radius:10px;padding:2px 4px;");//设置圆角按键
2.设置圆角窗体:
setWindowFlags(Qt::FramelessWindowHint);
QBitmap bmp(this->size());
bmp.fill();
QPainter p(&bmp);
p.setPen(Qt::NoPen);
p.setBrush(Qt::black);
p.drawRoundedRect(bmp.rect(),10,10);
setMask(bmp);//设置窗体遮罩
3.鼠标拖动窗体功能
void loginwindow::mousePressEvent(QMouseEvent *mouseEvent)
{
if (mouseEvent->buttons() == Qt::LeftButton)
pPos = mouseEvent->pos();
}
void loginwindow::mouseMoveEvent(QMouseEvent *mouseEvent)
{
if (mouseEvent->buttons() == Qt::LeftButton)
move(mouseEvent->globalPos() - pPos);
}
本文介绍如何使用Qt设置窗口圆角效果及实现无边框窗口的鼠标拖动功能。通过设置样式表使按钮呈现圆角,并利用QBitmap和QPainter绘制圆角窗体遮罩;同时,通过重写鼠标事件实现窗体拖动。
6万+

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



