Когда разрабатываете свой 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
Эксперты ВкусВилл дали комментарии об актуальном положении дел сети в сегменте растительных продуктов-аналогов, а также рассказали о планах по развитию категории “Вегетарианское» на 2023 года.
«С момента запуска продажи альтернативного мяса и колбасы выросли в 2 раза. Значительный рост продаж год к году наблюдается и в других категориях: молочная продукция (+38%), десерты (+70%), веганская кулинария (+65%).
В конце прошлого [2022] года мы решили оставить самый базовый ассортимент и заняться поиском и разработкой новых вкусов. При этом наши постоянные покупатели остались с нами, из чего сделали вывод, что к нам идут за классикой, и нам надо продолжать искать вкусы, которые станут любимым повседневным растительным продуктом.
Над новинками мы работаем на постоянной основе, чтобы радовать наших покупателей.
Этой весной порадуем на полках ВкусВилла появятся 2 сырокопченые веганские колбасы».
Читайте подробнее в статье 😉
@we_are_vkusvill#plantbased
High Protein Vegetable Patties
🥕 Ingredients:
- 1 small carrot 🥕
- 1 medium potato 🥔
- 1/2 bell pepper 🌶
- 1 onion 🧅
- 50 g soy granules 🌱
- 50 g corn 🌽
- 50 ml water 💧
- 100 g flour 🌾
- 1 tbsp starch ✨
- Oil for frying 🍳
Preparation:
1️⃣ Grate the carrot & potato, dice the pepper & onion, and place in a bowl 🥣
2️⃣ Soak the soybean granules in water, then add to the bowl along with the remaining ingredients and mix well 👩🍳
3️⃣ Shape the dough into patties and sauté in a pan with a little oil until golden brown 🥘
Enjoy! 😋
#HighProtein#VegetablePatties#VeganRecipe#HealthyEating#PlantBased
@dishes
High Protein Vegetable Patties
🥕 Ingredients:
- 1 small carrot 🥕
- 1 medium potato 🥔
- 1/2 bell pepper 🌶️
- 1 onion 🧅
- 50 g soy granules 🌱
- 50 g corn 🌽
- 50 ml water 💧
- 100 g flour 🌾
- 1 tbsp starch ✨
- Oil for frying 🍳
Preparation:
1️⃣ Grate the carrot & potato, dice the pepper & onion, and place in a bowl 🥣
2️⃣ Soak the soybean granules in water, then add to the bowl along with the remaining ingredients and mix well 👩🍳
3️⃣ Shape the dough into patties and sauté in a pan with a little oil until golden brown 🥘
Enjoy! 😋
#HighProtein#VegetablePatties#VeganRecipe#HealthyEating#PlantBased
@dishes
🌿Udon Noodle Bowl 🍜
Ingredients
• 🫒 Oil for frying
• 100 g smoked tofu 🧆
• 1/2 tsp chili 🌶
• 1/2 tsp thyme 🌱
• 1/2 tsp coriander 🌿
• 2 tbsp soy sauce 🍶
• 100 g mushrooms 🍄
• 2 cloves garlic 🧄
• 300 g udon noodles (pre-cooked) 🍜
Sauce:
• 1 tbsp paprika paste 🌶
• 2 tbsp agave syrup 🍯
• 5 tbsp soy sauce 🍶
• 200 ml water 💧
• 1 tbsp starch 🌽
• 1 tbsp white sesame 🥢
Side dishes for the bowl:
• 1 bok choy 🥬
• Red cabbage 🥬
• Cucumber 🥒
• Avocado 🥑
• Lime 🍈
• Spring onions 🧅
• Sesame seeds 🌱
• Paprika 🌶
Preparation:
1. 🔥 Fry the smoked tofu in oil, deglaze with soy sauce, season & set aside.
2. 🥄 Mix all the ingredients for the sauce together.
3. 🍄 Sear the mushrooms and garlic, deglaze with the sauce, and stir in the udon noodles.
4. 🍲 Fill the bowl with the udon noodles, tofu, and all the remaining ingredients.
#VeganRecipe🌱#UdonNoodles🍜#HealthyEats💚#AsianCuisine🍲#PlantBased
@dishes
🌿Udon Noodle Bowl 🍜
Ingredients
• 🫒 Oil for frying
• 100 g smoked tofu 🧆
• 1/2 tsp chili 🌶️
• 1/2 tsp thyme 🌱
• 1/2 tsp coriander 🌿
• 2 tbsp soy sauce 🍶
• 100 g mushrooms 🍄
• 2 cloves garlic 🧄
• 300 g udon noodles (pre-cooked) 🍜
Sauce:
• 1 tbsp paprika paste 🌶️
• 2 tbsp agave syrup 🍯
• 5 tbsp soy sauce 🍶
• 200 ml water 💧
• 1 tbsp starch 🌽
• 1 tbsp white sesame 🥢
Side dishes for the bowl:
• 1 bok choy 🥬
• Red cabbage 🥬
• Cucumber 🥒
• Avocado 🥑
• Lime 🍈
• Spring onions 🧅
• Sesame seeds 🌱
• Paprika 🌶️
Preparation:
1. 🔥 Fry the smoked tofu in oil, deglaze with soy sauce, season & set aside.
2. 🥄 Mix all the ingredients for the sauce together.
3. 🍄 Sear the mushrooms and garlic, deglaze with the sauce, and stir in the udon noodles.
4. 🍲 Fill the bowl with the udon noodles, tofu, and all the remaining ingredients.
#VeganRecipe🌱#UdonNoodles🍜#HealthyEats💚#AsianCuisine🍲#PlantBased
@dishes
Potato Waffle Burger 🍔🥔
Ingredients:
- 6 potatoes 🥔
- 70g all-purpose flour 🌾
- 100 ml plant drink 🥛
- 1 tsp salt 🧂
Toppings:
- 2 spreads of vegan cream cheese 🧀
- 1 handful of lamb's lettuce 🥬
- 5 mushrooms 🍄
- Fried onions, chili 🌶
- Agave mustard dressing 🍯
Dressing:
- 2 tbsp mustard
- 3 tbsp agave syrup 🍯
- 1 tbsp oil 🫒
- 1 tbsp water 💧
- Pinch of salt, pepper 🧂
Preparation:
1. Grate the potatoes, squeeze out the liquid, and mix with all ingredients for the dough. 👩🍳🥔
2. Fry the mushrooms and season them. Mix the ingredients for the agave mustard dressing. 🍄
3. Pour the batter into the waffle iron. 🧇
4. Enjoy with the toppings! 😋
#PotatoWaffleBurger#VeganBurger#PlantBased#HealthyEats#EasyRecipes
@dishes
Potato Waffle Burger 🍔🥔
Ingredients:
- 6 potatoes 🥔
- 70g all-purpose flour 🌾
- 100 ml plant drink 🥛
- 1 tsp salt 🧂
Toppings:
- 2 spreads of vegan cream cheese 🧀
- 1 handful of lamb's lettuce 🥬
- 5 mushrooms 🍄
- Fried onions, chili 🌶️
- Agave mustard dressing 🍯
Dressing:
- 2 tbsp mustard
- 3 tbsp agave syrup 🍯
- 1 tbsp oil 🫒
- 1 tbsp water 💧
- Pinch of salt, pepper 🧂
Preparation:
1. Grate the potatoes, squeeze out the liquid, and mix with all ingredients for the dough. 👩🍳🥔
2. Fry the mushrooms and season them. Mix the ingredients for the agave mustard dressing. 🍄
3. Pour the batter into the waffle iron. 🧇
4. Enjoy with the toppings! 😋
#PotatoWaffleBurger#VeganBurger#PlantBased#HealthyEats#EasyRecipes
@dishes
🌾Oriental Mujaddara 🌾
🌾 Ingredients:
🍚 200g rice
🥫 1 can (300g) cooked brown lentils
🧴 Oil for frying
🧅 3 large white onions
🧅 2 red onions
🧂 Pinch of salt
🥄 150 ml vegetable stock powder
🌿 1 tsp cumin
🧂 Salt and pepper
🍃Yoghurt dip:
🥄 500g soy yogurt
🍋 Juice of half a lemon
🧂 1/2 tsp salt
🧄 2 cloves of garlic
🌿 1 bunch of chives
🌈Toppings:
🌿 Chives, 🍈 pomegranate seeds
#OrientalMujaddara#MiddleEasternFlavors#VeganRecipe#PlantBased#ComfortFood
@dishes