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 слични објави

Пребарај: #alquds

当前筛选 #alquds清除筛选
Resistance News Network

@palestineresist · Post #93240 · 05.04.2026 г., 19:09

IOF soldiers were documented brutally assaulting a young man near Qalandia camp, north of #AlQuds. Zionist soldiers took turns severely beating the individual during the attack.

Hashtags

RNN Archive

@rnn_archive · Post #446 · 02.07.2023 г., 17:30

Today marks the somber ninth anniversary of the martyrdom of Mohammed Abu Khdeir at the hands of zionist settlers. 16-year-old Mohammed was kidnapped by a horde of settlers in #AlQuds on July 2nd, 2014, one of the early days of Ramadan. As he was preparing his pre-fast meal before the break of dawn, a group of settlers grabbed him and drove away. Mohammed was subsequently tortured, beaten with tools and forced to drink gasoline. The final act of violence perpetrated against him is as sickening as it is infuriating: doused with gasoline, Mohammed was set on fire. The depravity of zionism knows no bounds. Mohammed's case is one of countless crimes perpetrated against our people from the moment that the first settler stepped onto our land. It is a crime emblematic of the essence of zionism itself, in its racism, sadism, and hatred. Glory to our martyrs, and may they all be avenged.

Hashtags

Resistance News Network Backup

@RNN_Backup · Post #64431 · 25.10.2024 г., 09:44

🚨 Footage documents zionist soldiers targeting and shooting children yesterday in the town of Biddu, northwest of #AlQuds. Following the wounding of the child, the IOF abducted him. The barbaric crimes of the occupation carried out against children, women, men, and the elderly are escalating in the occupied West Bank and the #Gaza Strip, accompanied by a deafening silence from the international community and their refusal to hold the occupation accountable for their ongoing crimes.

Hashtags

Resistance News Network Backup

@RNN_Backup · Post #64453 · 25.10.2024 г., 10:01

🚨 13-year-old Iyad Ashraf Da'is from #AlQuds was released today from occupation prisons after 7 month of detention with the marks of zionist torture and medical negligence against the prisoners clear on his body. Iyad suffers from severe scabies due to the deliberate inhumane measures taken by the occupation administration against the prisoners as part of collective revenge against them. He was also sentenced to house arrest and his ankle was fitted with an electronic bracelet and was banned from Al-Quds to Taybeh. Iyad was arrested on March 27 from his home in Shu'fat, occupied #AlQuds. #FreeThemAll

Resistance News Network Backup

@RNN_Backup · Post #62684 · 12.10.2024 г., 21:24

🚨 The IOF and armed settlers conducted a series of aggressions across the West Bank today: Armed settlers attacked farmers in the village of Al-Mughayyir in #Ramallah and prevented them from harvesting olives. (media 1,2) Settlers also cut down olive trees in the village of Yasuf, east of #Salfit (media 3,4). The IOF invaded the town of Beita, south of #Nablus, where confrontations erupted between resistance youth and the zionist forces. (media 5,6,7). The IOF fired live bullets heavily at Palestinian homes at the entrance of Al-Arroub refugee camp, north of #AlKhalil. (media 8,9) The IOF invaded Shufat refugee camp in #AlQuds. (media 10)