setFrame中断QTreeWidget中一行的突出显示

时间:2016-08-19 14:45:56

标签: c++ qt

我遇到了由QLineEdit's setFrame函数引起的奇怪行为。

createLineEdit我调用LineEdit的构造函数...

LineEdit* TreeWidget::createLineEdit()
{
    LineEdit* l = new LineEdit;
    item = new QTreeWidgetItem(this);
    setItemWidget(item, 1, l);
    addTopLevelItem(item);      
    return l;
}

...我删除了QLineEdit的框架,默认设置为

LineEdit::LineEdit()
{
    setReadOnly(true);
    setFrame(false);
}

按预期移除帧,但行的突出显示被中断(见图片)LineEdit。我的猜测是,这不是一个想要的行为。这是一个错误吗?我怎样才能解决这个问题? 谢谢 enter image description here

1 个答案:

答案 0 :(得分:0)

你在其他任何东西之上展示了一个不透明的编辑器小部件。它应该按设计看起来那样。

如果您想要其他行为,则必须使窗口小部件的背景透明,并且只有在视图不抑制单元格背景的绘制时才会起作用。我不知道它是否有效。