我正在尝试使用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
,大小正常。
我错过了什么?为什么不显示?
答案 0 :(得分:1)
您不必将任何子类化。只需使用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"
"}");