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

Резултати

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

Пребарај: #kinal

当前筛选 #kinal清除筛选
Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38397 · 05.05.2022 г., 12:54

#Sondaggi#Grecia Sondaggio di Alco: #ND|EPP: 35,5% (-0,5) #SYRIZA|LEFT: 26% #KINAL (#PASOK-#KIDISO)|S&D: 15% #KKE|INITIATIVE: 7% #EL|ECR: 6% (+1) #MeRA25|Sinistra: 3,5% (+0,5) #EP|Estrema destra: 2% #PE|Sinistra anti-sistema: 1% Data rilevazione: 26-30 aprile +/-: 21-26 marzo Intervistati: 1000 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39598 · 17.05.2022 г., 16:08

#Sondaggi#Grecia Sondaggio di Pulse RC: #ND|EPP: 35% (-0,5) #SYRIZA|LEFT: 26% (-0,5) #PASOK/#KINAL-#KIDISO|S&D: 16% (+0,5) #KKE|INITIATIVE: 6% (-0,5) #EL|ECR: 4,5% #MeRA25|Sinistra: 3% #EP|Estrema destra: 2% #Dimiourgia (#DX-#NEDE)|ID: 1% Data rilevazione: 9-11 maggio +/-: 27-29 marzo Intervistati: 1206 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39590 · 17.05.2022 г., 13:56

#Sondaggi#Grecia Sondaggio di Interview: #ND|EPP: 35% (+1) #SYRIZA|LEFT: 25% (+1) #PASOK/#KINAL-#KIDISO|S&D: 14% (-2) #EL|ECR: 6% (+1) #KKE|INITIATIVE: 6% (-1) #MeRA25|Sinistra: 4% (+1) #Dimiourgia (#DX-#NEDE)|ID: 2% #EP|Estrema destra: 1,5% (-0,5) Data rilevazione: 4-9 maggio +/-: 30 marzo-5 aprile Intervistati: 1485 @UltimoraPolitics