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

Резултати

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

Пребарај: #amhara

当前筛选 #amhara清除筛选
Addis Standard

@addisstandardeng · Post #22133 · 28.04.2026 г., 11:20

News: Overloaded Isuzu truck carrying dozens atop grain overturns, leaving at least 19 dead in #Amhara region The accident shows the persistent risks associated with the widespread use of cargo trucks for passenger transport in rural Ethiopia, where limited transport options, now exacerbated by chronic fuel shortages across the country, often force residents to travel under dangerous conditions. Many of the victims were residents of the same locality, often traveling together in groups for work between Tsagibji and Ebnat localities. “Yesterday [Sunday] alone, we sent 17 bodies back to one specific area,” the official said, adding that several victims were members of the same families. The Deputy Commander also said the area where the accident occurred has been under the control of Fano fighters for the past three years, preventing authorities from reaching the scene to investigate the cause of the crash. https://addisstandard.com/?p=56655.

Hashtags

Borkena

@borkena · Post #5408 · 30.11.2025 г., 14:16

In Defense of the Amhara Cause: An Open Letter to Mehdi Hasan. Read more. https://borkena.com/2025/11/29/in-defense-of-the-amhara-cause-an-open-letter-to-mehdi-hasan/@mehdirhasan@AJHeadtoHead#Ethiopia#Amhara

Borkena

@borkena · Post #5772 · 08.02.2026 г., 20:38

Targeting the Amhara Intelligentsia: Killings, Detentions, and the Legal Threshold of Genocide Under International Law. Read more. https://borkena.com/2026/02/08/ethiopia-targeting-the-amhara-intelligentsia-killings-detentions-and-the-legal-threshold-of-genocide-under-international-law/#Ethiopia#politics#Amhara

Borkena

@borkena · Post #6090 · 29.03.2026 г., 18:09

Targeted And Forgotten: The Persecution, Displacement, Mass Killing, and Mass Arrest of the Amhara People in Ethiopia . Read more. https://borkena.com/2026/03/29/ethiopia-targeted-and-forgotten-the-persecution-displacement-mass-killing-and-mass-arrest-of-the-amhara-people/#Ethiopia#Amhara#HumanRights

Addis Standard

@addisstandardeng · Post #21844 · 26.03.2026 г., 15:19

#Ethiopia: Federal Police say its forces "seize illegal weapons" intended for "terrorist purposes" after arriving in #Addis_Abeba from #Amhara region Addis Abeba: The Ethiopian Federal Police claimed its forces have “seized illegal weapons”, “intended for terrorist purposes” after the arms allegedly arrived in Addis Abeba “from the Amhara region.” In a statement, the Federal Police said the first seizure occurred at the Legetafo checkpoint, where officers “intercepted a vehicle”. Following what the federal police claimed as a “rigorous inspection,” authorities discovered “eight AK-47 assault rifles, 151 rounds of AK-47 ammunition, 17 rounds of Bren machine gun ammunition, and seven AK-47 magazines concealed inside the vehicle.” “The illegal weapons were being transported for terrorist purposes,” the Federal Police said, adding that the suspects were “detained at the scene.” https://x.com/addisstandard/status/2037186920086733010?s=20

123•••78
ПретходнаСтраница 1 од 8Следна