Я пытаюсь удалить пунктирный контур, когда объект в 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-2!
Это с добавленным стилем QTableView::item::focus { outline: 0; background-color: yellow; } QTableView { outline: 0; }
. Теперь контур не отображается, но фон сфокусированного объекта желтый:
Это с 4 вариантами, которые должны работать, но контур все еще показан (контур вокруг объекта в положении 1-2):
Дело в том, что я не понимаю, почему это работает именно одним конкретным образом, а не другими?
И что мне нужно сделать, чтобы удалить контур, не меняя фон?