【问题标题】:qt change QLineEdit shapeqt改变QLineEdit形状
【发布时间】:2014-05-23 12:02:22
【问题描述】:

我正在尝试使用QWidget::setMask() 创建自定义形状QLineEdit。我为我的子类lineEdit重新定义了resizeEvent

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】:

你不必继承任何东西。只需使用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"
                      "}");

【讨论】:

  • 感谢您的回答。它有效,但不是 100% 好。请查看我的更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
相关资源
最近更新 更多