我正在尝试用QLineEdit
创建自定义形状QWidget::setMask()
。我为我的子类resizeEvent
重新定义了lineEdit
。
void MyLineEdit::resizeEvent(QResizeEvent *ev)
{
QPixmap pixmap(":/new/prefix1/region.png");
setFixedSize(ev->size());
setMask(pixmap.mask());
setStyleSheet("background-color : gray");
}
但QlineEdit
没有显示。顺便说一句,它被添加到QGridlayout
,我检查了pixmap.isNull() == false
和大小是正常的。我错过了什么?为什么不显示?
您不必子类化任何东西。只需使用style sheets。
editor->setStyleSheet("QLineEdit {\n"
" background: url(:/new/prefix1/region.png);\n"
"}");
editor->setStyleSheet("QLineEdit {\n"
" border-image: url(:/new/prefix1/region.png) 3 3 3 3;\n"
"}");