У меня есть QTableWidget
с 3 колонками. 2 столбца имеют в них некоторый текст, но один из них пуст, и я хочу, чтобы он имел фоновый цвет. Также я хочу, чтобы ячейки имели границы.Как установить границу ячейки и цвет фона в QTableWidgetItem?
Если я
int i = 0;
foreach (tableData el, data) {
//setting the first cell
ui->eventTable->setItem(i, 1, new QTableWidgetItem);
//ui->eventTable->item(i, 1)->setBackground(el.severityColor);
//ui->eventTable->item(i, 1)->setBackgroundColor(el.severityColor);
ui->eventTable->item(i, 1)->setData(
Qt::BackgroundRole,
QBrush(el.severityColor)
);
//setting the third cell
++i;
}
все работает, как ожидалось.
Но если до этого кода я пытаюсь добавить границу с
QString style(
"QTableWidget::item {"
"border: 1px solid white;"
"}"
);
ui->eventTable->setStyleSheet(style);
фон не установлен.
Я пробовал с setBackground()
, setBackgroundColor()
(хотя он устарел) и setData()
, как видно из кода, но результат тот же.
Также я попробовал setShowGrid(true)
, приведенный выше в таблице стилей, но граница не показывалась.
Вы можете воспроизвести это, создав таблицу с 1 строкой и 1 столбец и попытавшись установить фон ячейки, а затем добавив таблицу стилей для границы.
Я что-то упустил? Что еще я должен попробовать? В качестве альтернативы можно ли настроить таргетинг на определенные строки/ячейки в стилях, чтобы я мог построить строку стилей, которая делает то, что я хочу?
Edit: я могу иметь еще стили в QTableWidget::item
и они применяются, проблема в том, когда у меня есть границы. Я также попытался написать стиль границы, как:
border-width: 1px;
border-style: solid;
border-color: white;
, но до сих пор не повезло. Также, если я устанавливаю фон из стилей, он работает. Это не работает, если я устанавливаю его в коде.
Это работает, но достаточно только «gridline-color». Как я вижу, стили, установленные с 'setStylesheet()' имеют более высокий приоритет, чем те, что установлены с 'setBackground()' и т. Д., Можете ли вы предоставить любую документацию, где я могу это прочитать? Спасибо. –
Я просто хотел, чтобы все свойства были тщательными. У меня есть закладки [Style Sheet Documentaiton] (http://doc.qt.io/qt-4.8/stylesheet-reference.html) в моих закладках. – MildWolfie