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

Резултати

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

Пребарај: #etatsunis

当前筛选 #etatsunis清除筛选
AES INFO

@aesinfos · Post #2593 · 24.02.2025 г., 22:09

#AESinfos | #Mali🇲🇱#EtatsUnis🇺🇸 Supposées subventions américaines et financement du terrorisme international : Le Ministère des Affaires Étrangères et de la Coopération Internationale communique et invite les autorités américaines à engager des poursuites judiciaires. Source : @MaliMaeci

MALI 24

@kamissokosekou3 · Post #36726 · 28.04.2026 г., 13:42

Les États-Unis continuent de détruire des bateaux avec leur équipage dans le Pacifique... 🌊🚢💥 Cette fois, trois personnes ont été tuées, selon le Commandement central (CENTCOM) des États-Unis, l'équipage transportant de la drogue. S'il y avait de la drogue sur le bateau coulé, il n'est plus possible de vérifier comme d'habitude. 🚫 #etatsUnis#détruire#bateaux#pacifique

Egountchi Behanzin Officiel

@egountchibehanzinOfficiel · Post #6798 · 25.07.2024 г., 15:58

☢️ Terrorisme sanitaire ☢️ : Burkina Faso 🇧🇫 Nous appelons les autorités à mettre fin au projet des moustiques OGM génétiquement modifiés de Target Malaria financé par la Fondation Bill et Melinda Gates et l’armée américaine 🇺🇸,en raison du danger et des risques pour les populations et la biodiversité. Au Burkina Faso, l’'agence ANB, qui a délivré l'autorisation pour les lâchers de moustiques, a été mandatée par le CSIRO ( Commonwealth Scientific and Industrial Research Organisation ) basé en Australie, et que cette même organisation participe au projet de forçage génétique "Safe Genes" financé par la DARPA ( l'Agence américaine de recherche avancée de l'armée américaine ) Or, la loi burkinabé de biosécurité stipule également que « toute personne physique ou morale ayant des intérêts directs quelconques aux travaux d'organismes génétiquement modifiés, ne peut participer à l'évaluation des risques relatifs à ces organismes modifiés » (Loi N° 064-2012/AN 2012, article 26). La DARPA finance aussi Target Malaria (Target Malaria a). La CSIRO participe aussi au programme GBIRd (Contrôle biologique génétique des rongeurs invasifs) et fait la promotion du forçage génétique pour les rongeurs auprès de diverses agences gouvernementales. Question : Pourquoi la DARPA, connue pour développer des armes biologiques de l’armée américaine 🇺🇸, financerait un projet impliquant la libération de moustiques dans des pays africains, notamment le Burkina Faso ? Même le Congrès américain, inquiet, a demandé des explications à la DARPA concernant ce financement. #EB#Darpa#EtatsUnis#targetmalaria#BillGates#Oms#Afrique @egountchibehanzin