使用样式表在 Qt C++ 中编辑可编辑项目时更改其背景颜色

问题描述 投票:0回答:1

我有一个 QListWidget,其中包含可以编辑的项目(其待办事项列表),每个项目都有值 Qt::ItemIsEditable ,它允许我双击编辑文本值,但是当我这样做时,文本框变成黑色,我想将背景颜色从黑色更改为其他颜色,有人知道该怎么做吗?

这是创建列表中所有项目的代码

MainWindow::MainWindow(QWidget *parent):
QMainWindow(parent),
ui(new Ui::MainWindow)

{ ui->setupUi(这个);

QFile file(path);

if(!file.open(QIODevice::ReadOnly)) {
    QMessageBox::information(0, "error", file.errorString());
}

QTextStream in(&file);

while(!in.atEnd()) {
    QListWidgetItem *item = new QListWidgetItem(in.readLine(), ui->listWidget);
    if(item->checkState())
    {
        item->setCheckState(Qt::Checked);
    }
    else
    {
        item->setCheckState(Qt::Unchecked);
    }

    item->setForeground(QBrush(Qt::black));

    ui->listWidget->addItem(item);
    item->setFlags(item->flags() | Qt::ItemIsEditable | Qt::ItemIsUserCheckable);

}

file.close();

}

qt qt6
1个回答
0
投票

试试这个:

ui->listWidget->setStyleSheet("QListView QLineEdit{background:green}");;
© www.soinside.com 2019 - 2024. All rights reserved.