不需要的文本重叠

Undesirable text overlapping

当我编辑 QTableView 时,旧文本未被清除,因此新文本与它重叠。我怎样才能避免这种行为?

代码:

#include <QApplication>
#include <QtSql>
#include <QtGui>
#include <QTableView>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");
    db1.setDatabaseName(":memory:");
    db1.open();
    QSqlQuery("CREATE TABLE test (a integer primary key, s text)");
    QSqlQuery("INSERT INTO test VALUES (1, 'aaa');");

    QSqlTableModel *model = new QSqlTableModel(0, db1);
    model->setTable("test");
    model->select();

    QTableView *view = new QTableView;
    view->setModel(model);
    view->show();

    return a.exec();
}

我对动态 QLabel 有类似的问题。
当标签文本更新时,新文本与旧文本重叠。问题与透明背景颜色有关。
当您发现适合您的解决方案是使用这样的样式表 QTableView::item {}
完整代码:

view->setStyleSheet("QTableView::item {}");