Я использую QTableView в Qt, и у меня есть одна таблица, в которой каждая ячейка имеет другой цвет текста. У меня есть поведение выбора, выберите всю строку. Но когда я выбираю любую строку, цвет текста меняется на белый для выбранной строки. Я не хочу менять цвет текста при выборе строки. Я хочу, чтобы исходный цвет отображался, когда я выбираю любую строку.Изменение поведения выбора QTableView
Я попытался использовать таблицу стилей, но также изменил весь текст текста строки.
Я отправляю здесь образец кода
QTableView * pQTableView = new QTableView();
QStandardItemModel *model = new QStandardItemModel(5,3);
pQTableView->setSelectionBehavior(QAbstractItemView::SelectRows);
pQTableView->setModel(model);
for(int row = 0;row < 5;row++)
for(int column = 0; column < 3; column++)
{
QModelIndex index1= model->index(row,column);
QVariant value("Swaminarayan");
model->setData(index1, value,Qt::DisplayRole);
}
QModelIndex index1= model->index(0,0);
QVariant Obj(Qt::green);
model->setData(index1,Obj,Qt::TextColorRole);
index1= model->index(0,1);
QVariant Obj1(Qt::red);
model->setData(index1, Obj1,Qt::TextColorRole);
pQTableView->show();
Здесь Вы можете увидеть цвет первой ячейки зеленый и второй продавать красный раз мы выбираем первый ряд изменений цвета в белый.
Надеюсь, я говорю о том, что вы ищете. Если это какой-то (или очень) другой, то просьба прокомментировать. :) – zeFree
Спасибо, что поделились кодом! Это помогло мне в понимании вашей проблемы. Вы хотите сохранить цвет текста, который вы установили, независимо от того, выбрана ли ячейка. Это хорошо и сложно. Я удалю текущий ответ (поскольку он неактуальен) и будет искать решение вашей проблемы. – zeFree