QT 5.7과 C++로 작업 중입니다. 현재 QPainter 클래스를 사용하여 자신의 위젯을 그리는 데 익숙해졌습니다. 하지만 해결할 수없는 문제를 발견했습니다. 나는 위젯 국경에서 extactly 테두리 라인을 그릴려고하지만 그렇게 할 경우 :
QT 5.7 Q 라인 정렬하기
:
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter;
painter.begin(this);
painter.setBrush(Qt::cyan);
QBrush brush(Qt::black);
QPen pen(brush, 2);
painter.setPen(pen);
painter.drawRect(0, 0, size().width() - 1, size().height() - 1);
painter.end();
}
을 선은 다른 사람보다 더 아래쪽과 오른쪽 사이트에 있습니다 그리고 어떤 사람이 두 -1 표현식을 제거해야한다고 말하기 전에 표현식을 사용하고 펜 너비를 1로 설정하면 하단과 우측에 더 이상 줄이 없음을 알 수 있습니다.
나는이 유물이 "라인 aligment"에 의해 발생합니다 생각합니다. QT는 직사각형에 의해 정의 된 논리적 라인 근처의 픽셀을 채색하려고하지만 실제로는 최종적으로 모두 픽셀로 이루어져야하므로 결정해야합니다. 맞으면 왜 set the line aligment of the pen like in GDI+에 대한 방법이 없습니까? 그리고 어떻게 해결할 수 있습니까?