Регулярно приходится писать и ревьюить код, где используется 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
'Okkupert', distopía noruega antirrusa
La serie que recomendamos hoy puede parecer muy actual, dado el clima de rusofobia que se respira en Occidente, y, sobre todo, en sus medios de comunicación: un país europeo es víctima de una invasión rusa.
La trama de 'Okkupert' ('Occupied') (2015-2020) comienza con la elección soberana del Gobierno noruego de renunciar a los combustibles fósiles en favor del torio y en ese momento, el guion da un giro distópico en el que Occidente, encabezado por la Unión Europea, da un golpe para que Oslo continúe bombeando petróleo y gas a sus socios y para ello utilizan a Rusia de ariete.
La UE obligará a Oslo a cumplir con el suministro, haciendo que Rusia ocupe el país y controle pozos y plataformas y se despliegue en el territorio. De esa forma comienza un sentir patriótico noruego para sacar a los rusos, aunque a lo largo de la serie queda claro que los enemigos son los europeos y los propios noruegos…
Cualquier parecido con la tensión actual es pura coincidencia…
En algunos países las 3 temporadas están disponibles en Netflix, Apple TV o Amazon Prime Video.
¿Por cierto creen que un escenario así podría darse y más cuando ha sido Noruega la que colaboró con la voladura del gasoducto Nord Stream, según un galardonado periodista estadounidense?
#Series
Síguenos si amas el cine y las series:
🎥Luces, cámara y ¡acción!
Короче
Я посмотрела 8 серий "Мыши" и я дропаю
Скучилищно и нелогично
А ещё персонаж, который мне единственный понравился, умер. В общем, я не поняла гениальности задумки
#Series@small_syzrann
Вчера досмотрела шестую серию "Мыши".
Могу сказать, что мне нравится, даже очень. Сюжет интересный, хотя мне немножко не хватает "вотэтоповоротов".
Плоттвист в конце шестой серии я предугадала, потому что как будто бы в целом это было ожидаемо, но всё равно интересно, как это будут разруливать дальше.
#Series@small_syzrann
Самое главное и самое часто употребляемое слово в "Триггере" это...щибаль, конечно же >DDD
Мне кажется, здесь это самое универсальное слово. Щибаль? Щибаль!
#Series@small_syzrann
Я так ждала "Дорогу личи", а она оказалась капец какой скучной. Смотрю 5ю серию и жду где будет роад стори. Потому что пока что тут дохуя неясные политические интриги, которые я без контекста не понимаю. А чтобы понимать контекст, нужно понимать период правления Тяньбао и чо там происходило. Пока что тут все пытаются друг друга подсидеть и сохранить свою жопу. И всё это ужасно муторно и скучно.
#Series
Блиать. Простите это очень смешно и очень черно
8 серия "Злого духа", девочки празднуют экзамен
Сэми: это злой дух велел тебе соблазнить Хонсэ?
Санён: а?
Сэми: Я дала шанс признаться, а ты не хочешь. Ты сидела рядом с ним и улыбалась вот так ☺️🤭 Затем припала к его плечу и прошептала что-то на ухо
Что в это время шептала Санён:
#series
Итак, я почти пришла в себя и начала смотреть "Личи Чанъаня" попутно с корейским "Злым духом".
По итогу первых полутора серий можно смело дать сериалу второе название "Сдохни или умри"
#series
Уже 11 лет прошло, а Марти и Раст все еще куда-то едут... >DDD
(Если вы не смотрели первый сезон "Настоящего детектива", то настоятельно советую посмотреть).
#series