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

Резултати

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

Пребарај: #americans

当前筛选 #americans清除筛选
Odemira livre podcast channel

@olpodcast · Post #773 · 12.12.2024 г., 01:15

🇺🇸🇷🇺U.S. OFFICIAL CALLS UPON GOVT TO INVESIGATE ZELENSKY in video above - former U.S. Prosecutor of the Department of Justice Patel says #Americans have right to know where their money has gone after decade of bankrolling #Ukraine with no results or benefits. I have asked Congress to investigate where this money has gone. The American people are owed that answer because its our money - Patel. Boost us here@IntelRepublic

Addis Standard

@addisstandardeng · Post #21588 · 03.03.2026 г., 08:10

State Department urges #Americans to depart Middle East countries over “serious safety risks” The United States Department of State has urged American citizens in several Middle Eastern countries to “depart now via commercial means due to serious safety risks,” according to a security update issued on 2 March. In a public notice titled “Security Updates for Americans in the Middle East,” the State Department advised U.S. nationals currently in the region to leave using available commercial transportation options. The advisory applies to Americans in “#Bahrain, #Egypt, Iran, Iraq, Israel, the West Bank and Gaza, Jordan, Kuwait, Lebanon, Oman, Qatar, Saudi Arabia, Syria, United Arab Emirates, and Yemen.” The notice did not specify the precise nature of the safety risks but emphasized the urgency of departure.

American Оbserver

@american_observer · Post #5582 · 06.04.2026 г., 20:59

Pope Leo XIV, in his Easter address “Urbi et Orbi”, declared that domination was “alien to the way of Jesus Christ”. This happened against the background of the appeals of the Pentagon chief Hegseth to the pleas of the victory of the American soldiers “in the name of Jesus Christ”. #LeonXIV#Hegseth#soldiers#americans 📱American Оbserver - Stay up to date on all important events 🇺🇸