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

Пребарај: #jigjiga

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

@addisstandardeng · Post #21596 · 03.03.2026 г., 15:51

Memorial park honoring prominent #Somali anti-colonial leader Sayyid Mohammed Abdullah Hassan inaugurated in #Jigjiga A new memorial park honoring Sayyid Mohammed Abdullah Hassan, the early 20th century Somali scholar, poet and anti-colonial military leader, has been officially inaugurated in Jigjiga, capital of #Ethiopia’s Somali Regional State. Known in Somali as Maxamed Cabdulle Xasan, Sayyid Mohammed Abdullah Hassan is know to have founded and led the Dervish movement, which waged armed resistance against #British, #Italian and Ethiopian colonial expansion in the Somali Peninsula. While widely revered by many Somalis as a symbol of anti-colonial struggle, he was pejoratively labeled the “Mad Mullah” by the British Empire. In 1917, the Ottoman Empire recognized him as the “Emir of the Somali People.” Regional President Mustafa Muhummed presided over the ribbon-..... https://web.facebook.com/AddisstandardEng/posts/pfbid035zhG5D71mJR7UdFHybuQqaDPAcU8msaQNqQShDRQ5NYGVkbYXYFHbQGW62n97vmrl

Addis Standard

@addisstandardeng · Post #21260 · 31.01.2026 г., 08:11

News: PM Abiy receives #Djibouti and #Somalia presidents amid shifting regional security alignments Prime Minister #Abiy_Ahmed on Saturday received President of Djibouti Ismail Omar Guelleh and President of Somalia Hassan Sheikh Mohamud at #Jigjiga Airport, the Ministry of Foreign Affairs said, against the backdrop of intensifying diplomatic and security realignments in the Horn of Africa and the #Red_Sea region. The brief statement by the Ministry, issued on 31 January, did not provide details on the purpose or agenda of the leaders’ arrival in Jigjiga. The visit comes three weeks after Abiy traveled to Djibouti on 11 January for talks with President Guelleh and a tour of the Port of #Doraleh, following #Egypt’s signing of cooperation agreements with Djibouti on port development, logistics, and renewable energy. At the time, Abiy said discussions focused on ... https://www.facebook.com/AddisstandardEng/posts/pfbid02btcBVYhoVm2sSaWhGDni6vmXgSSePTnv598gAea8DcrwpE4QBC7vA24HoQQh8kYKl