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

Резултати

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

Пребарај: #kigali

当前筛选 #kigali清除筛选
Egountchi Behanzin Officiel

@egountchibehanzinofficiel · Post #8173 · 16.02.2025 г., 11:47

LE RWANDA 🇷🇼 APPARTIENT AU KONGO 🇨🇩 Il faut dire à Paul Kagame et à tous ses propagandistes qui affirment que Goma appartient désormais au Rwanda que c’est plutôt le Rwanda 🇷🇼 qui appartient au Congo 🇨🇩. Cependant, puisque les dirigeants congolais ne connaissent pas l’histoire de leur pays, il est normal qu’ils laissent cette propagande se diffuser sans apporter de réponse claire et nette. #M23#Kivu#Kigali REJOIGNEZ LA RÉSISTANCE SUR TELEGRAM. 🔺Pour les numéros français : https://t.me/egountchibehanzinTV 🔻Pour les numéros internationaux : https://t.me/EgountchiBehanzinOfficiel

Addis Standard

@addisstandardeng · Post #21855 · 27.03.2026 г., 06:01

#Paul_Kagame says ‘Putting things in order is not persecution’ as he defends regulation of religious institutions #Rwandan President Paul Kagame has strongly defended his government’s regulation of religious institutions, arguing that the measures are intended to restore order and protect citizens from financial exploitation rather than target faith. Speaking to thousands of members of the Rwandan Muslim community at BK Arena in #Kigali on Wednesday, 25 March, Kagame addressed the proliferation of unregulated religious entities. In a translated video clip shared on his office’s official X account, he said some individuals misuse religion for personal gain. “You find someone hiding behind a religion, hiding behind a church, setting up something that is only meant to serve their own interests and rob others,” he said. “Everything becomes something anyone can just put ...... https://web.facebook.com/AddisstandardEng/posts/pfbid0HCQDoceiXNH9eJ8XWU1N4i1L3Hy7h1S5WbiiAMWEvbPwiK9xXdNTrokbvLn63kBul

Addis Standard

@addisstandardeng · Post #21636 · 07.03.2026 г., 05:33

#African experts meet in #Rwanda for continental textile standardization African experts have convened in the Rwandan capital #Kigali for the Technical Committee (#TC 53) meeting on the standardization of textiles, textile products, and accessories. The forum, which ran from Tuesday to Friday, focused on finalizing agreements and establishing key standards and labeling systems for the textile sector, with the aim of strengthening trade and supporting economic growth within the continent's textile industry. Hermogene Nsengimana, secretary general of the African Organisation for Standardization (#ARSO), highlighted that Africa still faces a significant gap in developing common quality standards. He added that currently, only about 25 percent of the standards required for all products in the African common market have been established. Nsengimana said that ARSO has set a target to significantly reduce this gap within the...... https://english.news.cn/africa/20260307/6634375ed4a4474cab2c20d0c4a31253/c.html