Как поменять стиль QTableWidget?

Подскажите, пожалуйста, как мне добиться такого же стиля таблицы, как на картинке.
Я не очень понимаю, как мне убрать рамку вокруг всего заголовка, а "border" из-за этой рамки изменяет разделение между номерами ячеек и увеличивает её толщину. Почему-то "setFrameShape(QFrame::NoFrame);" не даёт никакого результата. Также не очень понимаю, как мне убрать выступ заголовков на пару пикселей. Знаю, как сделать это при "border: none;", но в ином случае у меня не получается.
Буду в крайне степени благодарен, если кто-нибудь подскажет, как выравнять текст в ячейках заголовков по центру, потому что "text-align: center;" почему-то не работает и как убрать жирный шрифт в заголовках, который возникает при выделении ячейки.
Таблица, которая нужна:
66116d136da61922404045.png
Таблица, которая получилась у меня:
66118fca1ca1f726047296.png
Мой код:
QTableWidget* tableWidget = new QTableWidget(12, 2, answer_table_widget);

    tableWidget->setFrameShape(QFrame::NoFrame);

    tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

    tableWidget->setStyleSheet("QTableView { "
                               "    gridline-color: gray; "
                               "    gridline-width: 1px;"
                               "}"
                               "QTableWidget {"
                               "    border: none;"
                               "}"
                               "QTableCornerButton::section {"
                               "    background-color: rgb(231, 237, 248);"
                               "    border: 1px solid gray;"
                               "}"
                               "QTableWidget::item {"
                               "    font-size: 12pt Roboto;"
                               "    width: 100px;"
                               "    height: 20px;"
                               "    border: none;"
                               "}"
                               "QHeaderView::section {"
                               "    background-color: rgb(231, 237, 248);"
                               "    font-size: 12pt Roboto;"
                               "    text-align: center;"
                               "    border: 1px solid gray;"
                               "}"
                               "QHeaderView::section[orientation=horizontal] {"
                               "    height: 20px;"
                               "}"
                               "QHeaderView::section[orientation=vertical] {"
                               "    width: 20px;"
                               "}");

    tableWidget->horizontalHeader()->setFixedWidth(2 * 100 + 2);
    tableWidget->verticalHeader()->setFixedHeight(12 * 30 + 2);

    tableWidget->setFixedSize(tableWidget->horizontalHeader()->length() + tableWidget->verticalHeader()->width() + 8,
                            tableWidget->verticalHeader()->length() + tableWidget->horizontalHeader()->width() + 4);

    tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

Код получился перегруженным, потому что много чего пробовал, но не всё убирал. Скорее всего, проблема в том, что я использую стили как-то неправильно, но в чём проблема понять не могу.
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы