QWidget :: setMask()를 사용하여 사용자 정의 모양 QLineEdit을 만들려고합니다. 내 하위 클래스 라인 편집을 위해 resizeEvent를 재정의했다.qt 변경 QLineEdit shape
void MyLineEdit::resizeEvent(QResizeEvent *ev)
{
QPixmap pixmap(":/new/prefix1/region.png");
setFixedSize(ev->size());
setMask(pixmap.mask());
setStyleSheet("background-color : gray");
}
그러나 QlineEdit는 표시되지 않습니다. Btw, QGridlayout에 추가되었고 pixmap.isNull() = false이고 크기가 정상인지 확인했습니다. 내가 뭔가를 놓쳤습니까? 왜 표시되지 않습니까?
http://qt-project.org/doc/qt-4.8/qwidget.html#resizeEvent "어떤 도면 (또는해야한다)이 내부에서 수행 할 필요가 없다 매니저.". Try :: paintEvent() – friendzis