Conversation
Сделана красивая паутинка, которая не только двигается за вашим курсором при зажатой левой кнопки мышки, но и меняет свои размеры при приближении/ отдалении от краев , чтобы всегда оставаться пропорциональной и не терять свою красоту
hBuzzy
left a comment
There was a problem hiding this comment.
Хорошее решение, но поправьте замечания.
|
|
||
| public: | ||
| Widget(QWidget *parent = nullptr); | ||
| void drawWeb(QPoint, int, QPainter *); |
| this->unsetCursor(); | ||
| } | ||
|
|
||
| void Widget::mouseMoveEvent(QMouseEvent *event) // |
| recta_ = this->rect(); | ||
| mousePressed_ = true; | ||
| this->setCursor(Qt::CrossCursor); | ||
| if (!recta_.contains(pos_)) { |
There was a problem hiding this comment.
Если перед условиями или циклами есть какие-либо определения, то лучше сделать пустую строку перед ними.
|
|
||
| private: | ||
| QPoint pos_; | ||
| QRect recta_; |
There was a problem hiding this comment.
Не сокращайте названия, если сокращения не общепринятые. Вроде min, max и т.д. Лучше все же в имя добавить больше конкретики. Что это за прямоугольник? Если геометрия виджета, то стоит так и указать.
| private: | ||
| QPoint pos_; | ||
| QRect recta_; | ||
| bool mousePressed_; |
There was a problem hiding this comment.
Переменные типа bool должны задавать вопрос, на который мы должны иметь возможность дать ответ либо Да, либо Нет. Ваша переменная констатирует факт, а не задает вопрос. Называйте переменные bool с глаголов is, has, have и т.д. в вашем случае: isMousePressed_
| QPoint center = pos_; | ||
|
|
||
| int radius; | ||
| if (center.y() >= height() / 2) { |
There was a problem hiding this comment.
2 - магическое число. Создайте переменную.
Сделана красивая паутинка, которая не только двигается за вашим курсором при зажатой левой кнопки мышки, но и меняет свои размеры при приближении/ отдалении от краев , чтобы всегда оставаться пропорциональной и не терять свою красоту. Также был установлен модуль для красивого кода, поэтому ошибок по типу отсутствия пробелов/ наличия лишних пространств быть не должно (надеюсь)