Регулярно приходится писать и ревьюить код, где используется 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
A LETTER FOR YOU
A letter which describe how much u r to me
A letter saying that I miss u in every conversation I have someone. Thinking about how would have react, say. How we have laugh
A letter saying that how I plan to go on every vacations with u
A letter saying that whenever we fight.. How I check whether u r online or not every now and then
A letter confessing you that I imagine u in every love story I see I read.. N u r shaping in my romantic fanasty
A letter confessing u that u r not much to me.. U r whole of me.... U r the one whom I want everyday
A letter from my heart saying ....u r my everything and nothing together
#review#pain#PSP
A LETTER FOR YOU
A letter which describe how much u r to me
A letter saying that I miss u in every conversation I have someone. Thinking about how would have react, say. How we have laugh
A letter saying that how I plan to go on every vacations with u
A letter saying that whenever we fight.. How I check whether u r online or not every now and then
A letter confessing you that I imagine u in every love story I see I read.. N u r shaping in my romantic fanasty
A letter confessing u that u r not much to me.. U r whole of me.... U r the one whom I want everyday
A letter from my heart saying ....u r my everything and nothing together
#review#pain#PSP
#Elezioni#Singapore
Risultati definitivi:
Affluenza: 92,47% (-3,34 rispetto al 2020)
#PAP|Centro-destra secolare: 87 seggi (+4)
#WP|Centro-sinistra: 12 (+2)
#PSP|Centro progressista: 0 (-2)
Totale seggi: 97 + 2 Parlamentari non Circoscrizionali
Attuale governo (PAP): 87 seggi (✅maggioranza mantenuta✅)
Nota: I due parlamentari guadagnati dal WP sono Parlamentari non Circoscrizionali, eletti in parlamento in virtù dell'essere stati "migliori sconfitti".
@OsservatorioEsteri
Проект парковой скульптуры с Wi-Fi-сетью,
смешанная техника, арт-группа Doping Pong, 2011 год
Перед вами концепт-арт уличных скульптур, раздающих бесплатный интернет в wi-fi зонах, развернутых в парках для сетевых серферов и геймеров.
Объекты:
Classic Version 1.0
Twitter girl №1,
Twitter girl №2,
PSP boy №1,
PSP boy №2
Toy Version 2.0
Twitter dolls: Green & Orange
PSP soldiers: Green & Blue
Проект не был реализован.
#dopingpong#freewifi#sculpture#project#boy#girl#twitter#psp#unrealized
#Elezioni#Libano
99 seggi assegnati su 128:
Per coalizioni:
Alleanza dell'8 marzo (#FPM-#Amal-#Hezbollah-#Marada-#ARF-#PNO-#UP-#Baath)|Grande tenda pro-Siria: 47 seggi
Alleanza del 14 marzo (#LF-#Kataeb-#IM-#Taqaddm)|Grande tenda anti-Siria: 28
Indipendenti: 11
Altri (#PSP-#NLP-#TW-#Sabaa-#ReLebanon-#Osos): 11
@UltimoraPolitics