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

TGINSIGHT SIMILAR POSTS

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

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

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

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

Пребарај: #mussolini

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

@ULTIMORAPOLITICS · Post #43786 · 28.06.2023 г., 13:57

Alessandra #Mussolini (#FI) presenta un emendamento alla relazione della commissione Libertà civili del Parlamento europeo sui diritti fondamentali chiedendo che "gli Stati membri registrino gli atti di nascita indipendentemente dal modo in cui il figlio è stato concepito o è nato e dal tipo di famiglia da cui proviene, sia esso figlio di un genitore unico, di una coppia di fatto, di una coppia sposata ivi compreso il figlio con due genitori dello stesso sesso o adottato a livello internazionale in uno Stato membro da uno o due genitori". Il #M5s: "Sosterremo la proposta di Mussolini" @UltimoraPolitics

Libertà è ragione

@libertaeragione · Post #4350 · 26.02.2025 г., 21:54

#Italia Il consiglio comunale di #Salò ha revocato la cittadinanza onoraria a Benito #Mussolini con 12 voti a favore (Giunta di csx ndr), 3 contrari e un astenuto (liste civiche, una delle quali vicina a #FdI|ECR ndr). La La cittadinanza onoraria era stata conferita al Duce nel maggio del 1924 dal commissario prefettizio Salvatore Punzo. @OsservatorioItaliano

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40986 · 27.04.2026 г., 22:01

Benito Mussolini, Italy’s former dictator, was captured on 27 April 1945 near Lake Como while trying to escape to Switzerland with Clara Petacci. They were executed on 28 April 1945 by Italian partisans. Their bodies were taken to Milan and displayed in Piazzale Loreto, where they were hung upside down. Mussolini was first buried in an unmarked grave, then later reburied in 1957 in Predappio, his hometown. 📜⚔️🇮🇹 Warning! Some of the images in the linked articles are shocking. [Read more 1] [Read more 2] [Read more 3] @googlefactss #History#WWII#Italy#Mussolini If you have ideas or feedback contact us: @Googlefactss_Feedback_bot