Qt: Странное поведение при удалении контура из QTableView - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь удалить пунктирный контур, когда объект в 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!
    Default Behaviour

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...