qt改变QLineEdit形状

问题描述 投票:0回答:1

我正在尝试用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和大小是正常的。我错过了什么?为什么不显示?

c++ qt qwidget qlineedit
1个回答
1
投票

您不必子类化任何东西。只需使用style sheets

editor->setStyleSheet("QLineEdit  {\n"
                      "    background: url(:/new/prefix1/region.png);\n"
                      "}");

或者based on documentation

editor->setStyleSheet("QLineEdit  {\n"
                      "    border-image: url(:/new/prefix1/region.png) 3 3 3 3;\n"
                      "}");
© www.soinside.com 2019 - 2024. All rights reserved.