不需要的文字重叠

时间:2015-10-30 06:20:31

标签: qt overlap

当我编辑QTableView时,旧文本未被清除,因此新文本与其重叠。我该如何避免这种行为?

text overlapping

代码:

#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();
}

1 个答案:

答案 0 :(得分:1)

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

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