Как создать подвижную вкладку в QTabWidget

Я сделал большую часть стиля для своего QTabWidget. Мои вкладки подвижны и закрываются. По какой-то причине вкладки не отображаются, когда я пытаюсь их переместить.

QTabWidget до

Вот как это выглядит после того, как я попытаюсь переместить один из них:

QTabWidget после

Как видите, вкладка полностью исчезает. Я что-то упустил в своем qss? Вот таблица стилей, которую я использую.

* {
    background-color: #3f4543;
    color: white;
    font-size: 12pt;
    margin: 0px;
    border: none;
}

QTabWidget::pane {
    border-top: 3px solid #535a57;
}

QTabWidget:movable {
    background: #ff7500;
}

QTabBar::tab {
    background: #535a57;
    min-width: 8ex;
    padding: 5px 10px;
}

    QTabBar::tab:hover {
        background: #6fc2ff;
    }

    QTabBar::tab:movable {
        background: #ff7500;
    }

    QTabBar::tab:selected {
        background: #0094ff;
    }

    QTabBar::tab:!selected {
        margin-top: 5px;
    }

Я не уверен, что охватываю все возможные состояния, но я не знаю, какие состояния имеет субэлемент управления ::tab. Спасибо за ваше время, глядя на это!


person Spen-ZAR    schedule 17.11.2013    source источник


Ответы (2)


Догадаться. Выяснилось, что некоторые стили моего приложения конфликтовали с QTabWidget. Мне пришлось убрать font-size, margin и border, чтобы столбцы отображались правильно из блока * { }.

person Spen-ZAR    schedule 18.11.2013
comment
Этот совет мне очень помог. В моем случае проблему вызывало свойство background-color в блоке * { }. Его удаление вернуло к жизни мой собственный стиль вкладок на подвижной вкладке. - person Prasad Silva; 12.08.2014
comment
Прошло много времени с тех пор, как вы ответили на свой собственный вопрос: если он действительно решил вашу проблему, было бы неплохо пометить его как принятый, чтобы он не отображался как открытый вопрос, и люди, приземляющиеся здесь, могут легко найти правильный ответ. - person cbuchart; 05.05.2017

Об этом было сообщено как об ошибке, и оно было решено в Qt 5.6. https://bugreports.qt.io/browse/QTBUG-45173

Проблема вызвана настройкой фона для всего приложения для QWidget:

QWidget {
  background: #afafaf;
}

К сожалению, я не знаю другого обходного пути, кроме установки этого. Но, ну, иногда вам нужно иметь фон QWidget для всего приложения, и наличие невидимых движущихся вкладок - меньшее зло...

person V.K.    schedule 12.10.2016