qt实现圆形buttom
要实现圆形的按钮,可以使用QAbstractButton的派生类QPushButton,并重写它的paintEvent函数。具体代码如下:
#include <QApplication>
#include <QPushButton>
#include <QPainter>
class RoundButton : public QPushButton
{
public:
explicit RoundButton(QWidget *parent = nullptr)
: QPushButton(parent)
{
setFixedSize(50, 50);
}
protected:
void paintEvent(QPaintEvent *event) override
{
Q_UNUSED(event);
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
if (isDown()) {
painter.setBrush(Qt::gray);
} else {
painter.setBrush(Qt::lightGray);
}
painter.drawEllipse(rect());
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
RoundButton button;
button.show();
return a.exec();
}
在这个例子中,我们创建了一个名为RoundButton的派生类,它继承自QPushButton。在构造函数中,我们设置了按钮的固定大小为50x50。在paintEvent函数中,我们使用QPainter来绘制按钮的外观。我们使用drawEllipse函数来绘制一个圆形,并根据按钮的状态来设置不同的颜色。最后,在main函数中,我们创建了一个RoundButton对象并显示出来。
你可以根据自己的需要调整按钮的大小和颜色
原文地址: https://www.cveoy.top/t/topic/it1r 著作权归作者所有。请勿转载和采集!