Регулярно приходится писать и ревьюить код, где используется 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
https://pypi.python.org/pypi/pytz?
#pytz brings the Olson tz database into Python. This library allows
accurate and cross platform #timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight saving time, which you can read more about in the Python
Library Reference (`datetime.tzinfo`).
🌍 Some countries adjust their time zones by just a single minute. Venezuela, for example, once set its clocks to UTC−4:30, then shifted to UTC−4:00 for efficiency, creating rare minute-level changes. ✨
#timezone⚡#clocks⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 China uses a single official time zone—Beijing Time—across its vast territory, even though natural time differs by up to four hours from east to west within the country. ✨
#timezone⚡#china⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Samoa and American Samoa are just 160 kilometers apart but are 24 hours apart on the calendar due to the International Date Line, making them neighbors living in different days. ✨
#timezone⚡#Pacific⚡#islands⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Chatham Islands, east of New Zealand, use a unique time zone: Chatham Standard Time is 45 minutes ahead of New Zealand, making it one of the few zones offset by less than a full hour. ✨
#timezone⚡#islands⚡#Pacific⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Spain's Canary Islands, though just west of Africa, use the same time zone as mainland Spain. Their clocks are always one hour behind the rest of the country, bridging continents by time. ✨
#timezone⚡#islands⚡#clocks⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Samoa’s 2011 time zone shift moved it west of the International Date Line, so travelers flying there from the U.S. now skip a day entirely, making for a calendar jump like nowhere else. ✨
#timezone⚡#dateline⚡#pacific⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 The South Pole uses Coordinated Universal Time (UTC) for convenience, even though all lines of longitude—and thus every time zone—meet at this single icy point on Earth. ✨
#timezone⚡#Antarctica⚡#poles⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Chile’s unique Easter Island uses UTC–6 time zone, two hours behind mainland Chile. This rare split lets sunrise and sunset times align better with local daylight on the remote Pacific island. ✨
#timezone⚡#Pacific⚡#island⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Central Australia uses a rare time zone offset of UTC+9:30. This half-hour difference was chosen to better match daylight with daily activities across vast, sparsely populated regions. ✨
#timezone⚡#Australia⚡#daylight⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
China uses one official time zone: China Standard Time (CST), 8 hours ahead of UTC, called Beijing Time. In Xinjiang, many Uyghurs use Xinjiang Time, 2 hours behind CST. China does not change clocks for Daylight Saving Time.
To see the current time check [here]
@googlefactss⏰🇨🇳
#China#TimeZone#CST#Xinjiang#BeijingTime#funfact