TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #62 · 4 апр.

Когда разрабатываете свой GUI с помощью PyQt для какого-либо софта бывает необходимо позаимствовать цвета из текущего стиля интерфейса. Например, чтобы правильно раскрасить свои виджеты, подогнав их по цвету. Ведь бывает, что ваш GUI используется в разных софтах. Причём некоторые со светлой темой а другие с тёмной. По умолчанию стили наследуются, но если вы задаёте какую-либо раскраску для части виджета через свой styleSheet, то требуется ссылаться на цвета текущего стиля. Как это сделать? Как получить нужный цвет из палитры имеющегося стиля? Это достаточно просто, нужно использовать класс QPalette и его роли. Например, мне нужно достать цвет текста из одного виджета и применить его в другом как цвет фона (не важно зачем именно так, просто захотелось😊). Получаем палитру виджета и сразу достаём нужный цвет, указав его роль. from PySide2.QtGui import QPalette color = main_window.palette().color(QPalette.Text) теперь можем использовать этот цвет в стилях my_widget.setStyleSheet(f'background-color: {color.name()};') Готово, мы динамически переопределили дефолтный стиль используя текущий стиль окна! На самом деле есть запись покороче, в одну строку и без лишних переменных. Не очень-то по правилам CSS, но Qt это понимает. my_widget.setStyleSheet('background-color: palette(Text);') Этот способ не подходит если вам нужно как-то модифицировать цвет перед применением в своих стилях. В этом случае потребуется первый способ. Зато он прекрасно сработает в файле .qss, то есть не придётся в коде прописывать раскраску отдельных элементов через ссылки на палитру, всё красиво сохранится в отдельном файле .qss! QListView#my_widget::item:selected { background: palette(Midlight); } Про имеющиеся роли можно почитать здесь🌍 #qt#tricks

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #archilovers

当前筛选 #archilovers清除筛选

The new glasshouse at Woolbeding gardens is designed by Heatherwick studio , inspired from the 19th century decorative plant containers, such as Wardian Cases or terrariums. The jewel-like shape of the Woolbeding glasshouse is radially symmetrical, like a large terrarium. Its pyramidal form echoes the pitched roofs of traditional structures in the landscape, while allowing enough height for the plants within to grow. On warm days, its ‘sepals’ (or petals) stretch outwards using a sophisticated hydraulic mechanism to open. The transformation – activated at the push of a button – is completed in four long minutes, during which time the forms shifts from a gem to a crown, or a flower that has opened to welcome in the sunlight. Photos: hufton + crow and Raquel Diniz Foto. #arch_shovel#archdaily#archilovers

Large-scale transformation and adaptive re-use in Oslo🇳🇴 Images of the new proposal for Oslo Horizon - KLP’s high-rise hub - submitted to PBE / Oslo planning authority. The scheme seeks to transform a former post office terminal into a new gateway to Oslo central stations rail platforms, and creating a commercial multi-tenant office hub w.3500 workspaces, a hotel/ conference centre, foodcourt and cafe + over 3000 cycle parking spaces. Between tree branches in an extensive green roofscape the public can experience panoramic views of the Oslo Fjord and biodiversity in the heart of Oslo. Oslo Horizon will be one of the Norway’s largest and most ambitious transformation projects, pioneering applications of re-use and recycling on an international scale. Made by CF Moller Architects in collaboration with: kristin jarmund architects androdeo arkitekter. #architecture#cfmoller#cfmollerarchitects#archilovers#improveLifeforPeopleandPlanet#dezeen#archdaily#oslo#norway#arch_shovel