龙空技术网

使用qt自绘一个关闭按钮

音视频开发老舅 307

前言:

今天朋友们对“c语言任意键退出”可能比较关怀,我们都需要了解一些“c语言任意键退出”的相关资讯。那么小编在网络上网罗了一些关于“c语言任意键退出””的相关文章,希望各位老铁们能喜欢,姐妹们快快来学习一下吧!

使用Qt自绘一个关闭按钮的示例代码,你可以根据自己的需求进行调整:

#include <QtWidgets>class MyWidget : public QWidget {public:    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {}protected:    void paintEvent(QPaintEvent *) override {        QPainter painter(this);        painter.setRenderHint(QPainter::Antialiasing); // 抗锯齿        painter.setPen(QPen(Qt::white, 2)); // 设置画笔颜色和线宽度        painter.setBrush(QColor(255, 100, 100)); // 设置画刷颜色        painter.drawRoundedRect(rect().adjusted(1, 1, -1, -1), 5, 5); // 绘制圆角矩形        int width = 12; // 按钮的边长        QRectF buttonRect(rect().right() - width - 4, (rect().height() - width) / 2, width, width); // 按钮的位置和大小        painter.setBrush(Qt::white); // 设置画刷颜色        painter.drawEllipse(buttonRect); // 绘制按钮圆形部分        painter.setPen(QPen(Qt::red, 2)); // 设置画笔颜色和线宽度        painter.drawLine(buttonRect.topLeft() + QPointF(3, 3), buttonRect.bottomRight() - QPointF(3, 3)); // 绘制按钮关闭叉号        painter.drawLine(buttonRect.topRight() - QPointF(3, -3), buttonRect.bottomLeft() - QPointF(-3, 3)); // 绘制按钮关闭叉号    }};int main(int argc, char *argv[]) {    QApplication a(argc, argv);    MyWidget w;    w.resize(200, 200);    w.show();    return a.exec();}QT开发交流+赀料君羊:714620761

在上面的代码中,我们自定义了一个QWidget派生类MyWidget,并重载了其中的paintEvent()方法。在paintEvent()方法中,我们使用QPainter来绘制了一个圆角矩形,并在矩形右上角绘制了一个白色的圆形按钮,并在按钮上绘制了一个红色的关闭叉号。

运行代码后,将会在窗口中看到一个有关闭按钮的红色圆角矩形。

标签: #c语言任意键退出