Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
📱Top Social Networking Apps Worldwide by Downloads
May 2019
The most downloaded social networking app worldwide for May 2019 was #Facebook with more than 60.6 million installs. The markets with the most new Facebook installs during this period were India at 24% of total downloads, followed by Indonesia🇮🇩 at 12% and Brazil🇧🇷 at 8%.
#TikTok was the second most installed social networking app worldwide last month with close to 56 million installs, with the largest portion of those coming from India🇮🇳 at 57%, followed by China🇨🇳 at 8%. #Snapchat, #Instagram and, #Likee rounded out the top five most installed social networking apps worldwide for the month.
🔗 Read more on SensorTower.
🚀@PerspectiveIX
📡Pulse: Every Sunday.
❓What's you current favourite social networking app? Share it in the Comments.
📊Top Social Media Apps Worldwide for February 2020 by Downloads
#TikTok was the most downloaded social media app worldwide for February 2020 with 112.8 million installs, which represented a 96.2% YoY increase.
The countries with the most downloads of the app during this period were India 🇮🇳 at 41.3% of its total installs and Brazil 🇧🇷 at 8.6%.
#Facebook was the second most installed #SocialMedia app worldwide last month with 57 million downloads, which represented a nearly 8% increase from February 2019.
The countries with the largest number of Facebook installs were India 🇮🇳 at 23.8%, followed by Brazil 🇧🇷 at 9%.
#Instagram, #Likee, and #Snapchat rounded out the top five most downloaded social media apps worldwide for the month.
🦅@PerspectiveIX via SensorTower.
📱Top Social Media Apps Worldwide by Downloads
Q2 2019
#Facebook was the most downloaded #SocialMedia app worldwide for 2Q19 with close to 174 million installs.
#TikTok was the second most installed social media app worldwide last quarter with more than 156 million installs. #Instagram, #Snapchat, and #Likee rounded out the top five most installed social media apps worldwide for the quarter.
🔗 Read more on SensorTower.
❗️ Check our Instagram Stories!
🦅@PerspectiveIX
¿Qué puede hacer este bot?
@AllSavesBot
Descarga fotos, videos y audio de:
Instagram, YouTube, Facebook, TikTok, Pinterest, Twitter y Likee
Idiomas: Inglés, Ruso
#descarga#videos#fotos#audio#instagram#facebook#tiktok#pinterest#twitter#likee
(Visto en @BotsGram_Cu)
На расширенном заседании IT-Комитета ГД обсудили статус выполнения требований закона о «приземлении» IT-гигантов
⠀
Всего 13 компаний, которые попадают под требование закона. И уже большинство из них приступили к «приземлению». #Apple и #Spotify выполнили это требование, а #Wargaming и #AliExpress уже даже открыли представительства на территории РФ. В ходе заседания Комитета #TikTok, #Likee и #Viber также объявили о создании полноценных российских юрлиц, #Zoom тоже сообщил о начале процедуры «приземления».
⠀
Напомню, что закон о «приземлении» IT-гигантов позволит компаниям поддерживать российских пользователей, предоставляя возможность выражать свою точку зрения в рамках соблюдения законов внутри страны.
⠀
С целью ускорения процедуры Комитет подготовил поправки в Кодекс РФ об административных правонарушениях, которые устанавливают ответственность за «неприземление», а также за нарушение установленных ограничений – на рекламу, на сбор персональных данных.
⠀
Тем не менее ряд компаний до сих пор не выполнили ни одного пункта требований, и это: #Google, #Meta, #Discord, #Pinterest, #Twitch и #Telegram. Надеюсь, что конструктивный и живой диалог поможет развеять сомнения компаний и побудит приступить к соответствующим действиям.