У QTreeView
него нет метода аналогичного QTableView::setShowGrid
. И как теперь отобразить сетку?
Как вариант можно с помощью делегата.
void GridLineDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
{
QStyledItemDelegate::paint(painter, option, index);
if (index.isValid())
{
painter->setPen(Qt::SolidLine);
painter->setPen(QColor(Qt::lightGray));
painter->drawLine(QLine(option.rect.bottomLeft(), option.rect.bottomRight()));
painter->drawLine(QLine(option.rect.topRight(), option.rect.bottomRight()));
}
}
А затем
ui->treeView->setItemDelegate(new GridLineDelegate(ui->treeView));
Самое простое решение, которое мне удалось найти, это использование стилей:
QTreeView *view = new QTreeView(this);
view->setStyleSheet("*::item{"
" border-top-width: 0px;"
" border-right-width: 1px;"
" border-bottom-width: 1px;"
" border-left-width: 0px;"
" border-style: solid;"
" border-color: silver;"
"}"
"*::item:selected{"
" background: palette(Highlight);"
"}");
По какой-то причине выделенные ячейки перестали подсвечиваться. Поэтому пришлось дополнительно описать *::item:selected
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется основной CMakelists
Написал я маленькую программу, которая в свою очередь запускает другую программуИ мне нужно добавить первую программу в автозагрузу желательно...
Написал программу на c++В ней есть функции: запуск программы, добавление записи в реестр, цикл и пара функций, а также несколько поключенных...
Какая функция вернет положение управляющего элемента RECT{50,30,300,80}?