Qt: странное поведение при удалении контура из QTableView

#c #qt

#c #qt

Вопрос:

Я пытаюсь удалить пунктирный контур, когда элемент в QTableView сфокусирован. Я нашел в других ответах, что outline: 0 это удалит его, но для меня это работает только в странных случаях:

В этой таблице стилей контур удаляется, а фон становится желтым:

 tableView->setStyleSheet("QTableView::item::focus { outline: 0; background-color: yellow; } QTableView { outline: 0; }");
  

В этой таблице стилей контур все еще отображается:

 tableView->setStyleSheet("QTableView::item::focus { outline: 0; } QTableView { outline: 0; }");  
tableView->setStyleSheet("QTableView { outline: 0; }");
tableView->setStyleSheet("QTableView::item::focus { outline: 0; }");
tableView->setStyleSheet("QTableView::item::focus { outline: 0; background-color: yellow; }");
  

Я хочу, чтобы контур был удален, а фон сохранен в цвете по умолчанию. Но, похоже, у него нет такой возможности. Команда outline работает только в определенных случаях, которые кажутся мне очень случайными.

Это ошибка от меня, из-за неправильного понимания Qt или таблиц стилей. Или это известная ошибка или новая ошибка?

Редактировать (изображения для понимания того, что я имею в виду):

  1. Это поведение по умолчанию. Посмотрите на контур вокруг элемента 1-2!
    Поведение по умолчанию

  2. Это связано с добавлением стиля QTableView::item::focus { outline: 0; background-color: yellow; } QTableView { outline: 0; } . Теперь линия не отображается, но фон сфокусированного объекта желтый:
    Рабочий пример

  3. Это касается 4 вариантов, которые должны работать, но контур все еще отображается (контур находится вокруг объекта в позиции 1-2):
    Неудачный пример 1
    Неудачный пример 2
    Неудачный пример 3
    Неудачный пример 4

Дело в том, что я не понимаю, почему это работает именно одним конкретным способом, а не другими? И что мне нужно сделать, чтобы удалить контур без изменения фона?

Комментарии:

1. Скажите, что не работает: это не помогает понять вас, объясните лучше.

2. Обратите внимание, что загруженный стиль должен поддерживать таблицу стилей, чтобы это работало. На каждой платформе используется свой стиль. Итак, какая у вас платформа / стиль?