要自定义按钮形状,可以通过继承QPushButton类并重新实现其paintEvent方法来实现。以下是一个示例代码:
#include <QtWidgets>
class CustomButton : public QPushButton
{
public:
CustomButton(QWidget *parent = nullptr) : QPushButton(parent) {}
protected:
void paintEvent(QPaintEvent *event) override
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
// 绘制圆形按钮
painter.setBrush(QColor(255, 0, 0));
painter.drawEllipse(rect().adjusted(2, 2, -2, -2));
// 如果要绘制其他形状的按钮,可以根据需要修改绘制的代码
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QVBoxLayout layout(&window);
CustomButton customButton;
customButton.setText("Custom Button");
layout.addWidget(&customButton);
window.show();
return app.exec();
}
在上面的代码中,我们定义了一个CustomButton类,继承自QPushButton,并重新实现了其paintEvent方法,用来绘制圆形按钮。您可以根据需要修改绘制的代码,来实现不同形状的按钮。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: qt日期滚动事件怎么设置