【发布时间】: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,大小正常。
我错过了什么?为什么不显示?
【问题讨论】:
-
qt-project.org/doc/qt-4.8/qwidget.html#resizeEvent "不需要(或不应该)在此处理程序内完成绘图。"。试试 ::paintEvent()