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

Резултати

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

Пребарај: #serxwebun

当前筛选 #serxwebun清除筛选
Turchia e dintorni

@notizieturchia · Post #3351 · 07.06.2025 г., 09:59

La rivista #serxwebun pubblica la lettera di #AbdullahOcalan inviata al dodicesimo congresso del #PKK. Due temi importanti emergono in modo straordinario; le persone #lgbt e la questione palestinese. "Sapete che l'argomento LGBT è oggetto di grandi discussioni. Esistono molte persone che possiedono sia caratteristiche maschili che femminili (ermafroditi). Alcune di queste persone decidono persino di sottoporsi a interventi chirurgici per diventare uomini o donne. Tali interventi sono oggi piuttosto comuni. Il punto interessante è che non esiste un abisso invalicabile tra il maschile e il femminile. Naturalmente, questo ha anche aspetti filosofici e sociologici molto diversi. Esiste una dimensione etica e anche un riflesso sociale di tutto ciò. Ma sono questioni che possono essere affrontate attraverso un pensiero dialettico. Non voglio entrare qui nel tema del ruolo della donna. La distinzione tra maschile e femminile non è qualcosa di miracoloso, ma è un risultato della dialettica della natura. Non implica alcuna superiorità. Essere femminile non è una superiorità, e nemmeno essere maschile è qualcosa di sacro. Non sono fatti da cui trarre conclusioni speciali. Secondo la dialettica della natura, queste cose ci sono e continueranno a esserci. Noi le abbiamo chiamate "differenziazione", e senza differenziazione non c'è vita. Il significato stesso della vita è legato alla differenziazione. Ma allora, come può una sola persona essere sia femminile che maschile? Vediamo oggi che non riescono a vivere appieno. Come può un individuo ermafrodito essere sia maschio che femmina? La morale tradizionale condanna queste persone. Ma secondo me questa condanna è un problema. Attraverso gli interventi chirurgici può emergere maggiormente l’aspetto maschile, oppure si può preferire quello femminile – e diciamo pure che entrambi sono validi. Se la natura ti ha diviso in due, dovresti vedere questa divisione come una possibilità di libertà, come una forma di diversità che ha un significato. Il femminile ha un significato, così come ce l’ha il maschile. Anche nella società tutto questo ha preso forma. La cosa importante è non trasformarli in opposti. È proprio nel momento in cui li rendiamo opposti che comincia il problema." + "Ecco, di fronte a un Israele di cinque milioni di persone, l’ #Islam arabo di 300 milioni non riesce nemmeno a respirare. Di questo è responsabile l’Islam, ovviamente. Se nonostante tutto ciò continuiamo ancora a proporre l'islamismo, allora c’è qualcosa che non va. Dico queste cose per far capire bene la situazione. C’è persino chi si chiede: "È dominante il #Cristianesimo o l’Islam?" La risposta è che il 99% del potere è in mano ai cristiani. È necessario esprimere queste cose con chiarezza, altrimenti è come fare l’elemosina. Cercano di difendere l’Islam contro l’Occidente usando i concetti dell’Occidente. Ma non si può difendere l’Islam in questo modo. L’ #Occidente è straordinariamente superiore nella filosofia, nella scienza e nella tecnica, e tu cerchi di trarre vantaggio dai suoi scarti, dai suoi angoli, dai suoi margini. E lo fai pure in modo mendicante. Il fatto che questa strategia abbia poche possibilità di successo si è visto chiaramente nell’ultimo episodio di #Gaza."