阅读量:0
要自定义按钮形状,可以通过继承QPushButton类并重新实现其paintEvent方法来实现。以下是一个示例代码:
#include 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方法,用来绘制圆形按钮。您可以根据需要修改绘制的代码,来实现不同形状的按钮。