Увеличить ширину QPen

Мне нужно увеличить ширину пера для приведенного ниже кода с помощью Painter/QPen, но ничего из того, что я пробовал, не работает. Может кто-нибудь указать мне в правильном направлении?

          while c_len < MAX_LENGTH:
        # Set the pen color for this segment
        sat = 200 * (MAX_LENGTH - c_len) / MAX_LENGTH
        hue = (color + 130 * (height - y_s) / height) % 360
        p.setPen(QPen(QColor_HSV(hue, sat, 255, 20), 2))

1 ответ

Вы можете использовать метод setWidth QPen следующим образом:

      while c_len < MAX_LENGTH:
    # Set the pen color for this segment
    sat = 200 * (MAX_LENGTH - c_len) / MAX_LENGTH
    hue = (color + 130 * (height - y_s) / height) % 360
    pen = QPen(QColor_HSV(hue, sat, 255, 20))
    pen.setWidth(2)
    p.setPen(pen)

Простое присвоение конструктору значения 2 не работает, потому что для ваших аргументов нет соответствующей подписи.

В качестве альтернативы используйте аргументы, поддерживаемые сигнатурой:

      pen = QPen(QColor_HSV(hue, sat, 255, 20), 2, QtCore.Qt.SolidLine)

Это предпочтительнее, так как позволяет избежать отдельного вызова функции, который в Python работает медленно .

Другие вопросы по тегам