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

Резултати

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

Пребарај: #eritreans

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

@addisstandardeng · Post #21953 · 06.04.2026 г., 13:18

News: Over 700 Eritreans cross into #Tigray for holiday celebrations as Federal Government accuses #Eritrea of meddling in #Ethiopia’s internal affairs More than 700 #Eritreans crossed into the town of Sheraro, in Northernwestern zone of Tigray, over the weekend to celebrate the religious festivals of Hosanna(Palm Sunday) and Medhane Alem alongside local residents, regional state broadcaster Tigrai Televison reported. According to the report, participants said the visit was aimed at strengthening long-standing social and cultural ties between communities on both sides of the border. Eritrean attendees expressed happiness at being able to reunite with “Tigrayan brothers,” while also extending support to internally displaced people (IDPs) in the area. According to organizers, visitors brought grain and other supplies to assist those displaced from western and northwestern parts of Tigray. The event, described by attendees as a “stage of brotherhood,” was Read more: https://addisstandard.com/?p=56335

Addis Standard

@addisstandardeng · Post #22150 · 30.04.2026 г., 10:10

News: #Ethiopian community members in #South_Africa accuse home government of inaction as embassy says engaging authorities Members of the Ethiopian community in South Africa have criticized what they describe as a lack of adequate protection and diplomatic response following recent killings of Ethiopian nationals in Johannesburg, even as #Ethiopia’s embassy in #Pretoria said it is engaging authorities and calling for stronger security measures. The criticism follows a recent shooting in #Johannesburg in which four Ethiopians were killed, with Ethiopian officials saying they are awaiting the outcome of investigations by South African authorities. Speaking to #Addis_Standard on condition of anonymity, a member of the Ethiopian Community in South Africa said the killings of Ethiopians, #Eritreans and #Somalis in South Africa are not new, but warned both the frequency and nature of the attacks appear to be worsening. https://addisstandard.com/?p=56694