TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #380 · 21 окт.

Регулярно приходится писать и ревьюить код, где используется 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #sailingregatta

当前筛选 #sailingregatta清除筛选

🚢Открыта регистрация на 30-ю, юбилейную регату - Superyacht Cup Palma. Открыт приём заявок на 30-ю Superyacht Cup Palma, которая пройдёт 24–27 июня 2026 года в Club de Mar-Mallorca. В честь юбилея организаторы вводят новый класс "performance multihull", который дополнит традиционные дивизионы — Superyacht, J Class, Café Racer и Corinthian. В 2025 году 24-метровая парусная яхта “Rose” (проект Wally) защитила титул, став первой в истории регаты, одержавшей три победы подряд. В 2026 году ожидается участие победителя прошлых лет “Win Win” (проект Baltic 108), 35-метровой “Gelliceaux” (Southern Wind), а также 39-метровой “Cervo” (проект Tripp). Среди вероятных участников — яхты J Class - “Rainbow” и “Svea”, а также яхты проекта Baltic 68 Café Racers - “Ganesha” и “Scorpione Hormar”. Впервые в регате могут принять участие “Inco” (Wally 100), “Spiip” (Swan), “Hummingbird” (Swan 90S), “Atalante I”, а также мультихаллы “Highland Fling 18” и “Allegra”. Соревнования на воде будет курировать Real Club Náutico de Palma (RCNP). Расширение классов отражает эволюцию суперяхтенного сегмента и растущий интерес к performance-мультикорпусам, что усиливает конкурентную составляющую и диверсифицирует флот регаты. 📌Superyacht Cup Palma — международная парусная регата, основанная в 1996 году на Пальме-де-Майорка. Организуется при поддержке Club de Mar-Mallorca и RCNP; мероприятие проводится при участии частных партнёров и спонсоров. #Superyacht#Palma#SailingRegatta#JClass#Yachting