How to set stylesheet for the current item in QTableView

qt, qt5, qtableview, qtstylesheets

Solution

Qt style sheets support sub-controls and pseudo states, you can use it to improve your customization. see Qt6 docs

In this case you can use the `::item` sub-control and the `:focus` pseudo state (the "current" pseudo state doesn't exist, but the `:focus` does the same).

This is an example that you can use:

QTableView::item:focus
{
   selection-background-color: yellow;
}

See also Qt6 documentation of customizing a qtableview

Problem

When `QTableView` edit control is visible for the current item the shylesheet of the edit takes place. When there is no active edit control in the `QTableView` the current item is styled using the `QTableView { selection-background-color: }` How to set different style only for the current item?

Original source