반응형 SWE326 [Qt] QLabel 에 테두리 그리는 방법 | QPushButton border 추가 QLabel에 테두리 그리는 방법 1. QPixmap 을 사용한 방법 QLabel에 테두리를 그리려면, QPixmap 같은 곳에 테두리를 그리고, 라벨에 넣는다. 예를 들면 다음과 같다. // main or other method { QPixmap pixmap; QLabel* label = new QLabel(this); label->setPixmap(pixmap); } // protected void paintEvent(QPaintEvent* e) { QPainter painter(this); painter->drawRect(this->rect(), "#ff0000"); // 첫 번째 파라미터 : 사각형 위치, 사이즈 // 두 번째 파라미터 : 색상, 여기서는 빨간색 } 참고로 QPainter는 pai.. 2020. 9. 10. [Qt] 외부에서 widget을 resize할 때 내부 layout도 resize되는 방법 QSize() : 윈도우 프레임을 제외한 위젯의 사이즈를 가지고 있음. 만약 위젯이 visible상태에서 resize된다면, 이것은 resizeEvent()를 즉시 전달받는다. 만약 위젯이 not visible상태라면, visible이 되기 전에 이벤트를 받는 것을 보장한다. qsize는 minimumSize(), maximumSize()에 의해서 범위가 지정될 수 있다. 기본값은 사용자의 플랫폼과 화면의 geometry값에 따라 결정된다. 주의사항 : resizeEvent()안에서 resize()나 setGeometry()를 호출하면 무한루프에 빠질 수 있다. 추가 : QSize(0,0)으로 위젯을 설정하면 위젯이 스크린에서 안보여질 수 있다. qtcentre 질의 제목 : resize widget이 .. 2020. 9. 1. enum Qt::WidgetAttribute | 위젯 속성 | WA_OpaquePaintEvent Qt::WidgetAttribute 열거형은 다양한 위젯의 속성을 구체화하기 위해 사용되어진다. QWidget::setAttribute()로 설정할 수 있다. QWidget::testAttribute()로 확인할 수 있다. 일부는 특정 함수를 사용해서 편하게 설정하거나 확인할 수 있다. Qt::WA_OpaquePaintEvent : paint event를 받았을 때, 그 위젯에서 모든 픽셀을 직접 그린다. 그러므로 paint event를 실행하기 전에 위젯을 지우기위해 하는 updating, resizing, scrolling, focus changes 와 같은 동작들이 요구되지 않는다. WA_OpaquePaintEvent를 사용하면 적은 최적화를 제공한다. 시스템에서 깜빡이는 것을 줄이도록 도와준다. .. 2020. 8. 27. [Qt] GridLayout 셀 크기 조절하는 방법 (ColumnSpan) GridLayout 각 셀의 크기를 다르게 조절하는 방법 Qt 에서 GridLayout을 사용하는데, 각 셀마다의 크기를 다르게 주고 싶다면? 방법이 있다!!!!!!!! 먼저, 각 셀의 크기를 다르게 준다는 말이 무슨 말인지 예시를 보자. (예제1) 각 셀의 width, height가 같다. 1 2 3 4 (예제2) 각 셀의 width, height가 제각각이다. 1 2 3 4 (예제2) 와 같이 gridlayout의 조절방법은 2가지가 있다. 방법1 addWidget or addLayout 메소드 사용 QGridLayout의 addWidget, addLayout 메소드를 사용하는 것이다. widget 혹은 layout을 추가할 때 파라미터로 rowSpan, columnSpan을 설정해줄 수 있다. ad.. 2020. 7. 9. 이전 1 ··· 28 29 30 31 32 33 34 ··· 82 다음 반응형