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

Резултати

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

Пребарај: #wazema

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

@addisstandardeng · Post #21183 · 24.01.2026 г., 20:40

#Update: ‘We leave these accusations to the judgment of conscience’: #Wazema Media rebuffs Media Authority claims after announcement to return license Addis Abeba – Wazema Media (Wazema Radio) has issued a response to the Ethiopian Media Authority (EMA), clarifying that the return of its operating license was a result of a direct order and rejecting allegations of ethical misconduct. In a statement released late Saturday, the media outlet confirmed it had complied with the regulator’s directive while expressing deep disappointment over the measure. “As per the Authority’s order on Thursday to return our license, we have done so today. The [EMA] statement was released within hours of us doing this,” the management of Wazema stated, adding the compliance to return the license was based on the order from the regulator. “We do not believe the measure is correct by any standard. It has saddened us,” the statement further said. https://www.facebook.com/share/p/1HMEgBLLb4/?mibextid=wwXIfr

Addis Standard

@addisstandardeng · Post #21181 · 24.01.2026 г., 17:31

News: #Ethiopian Media Authority announces return of #Wazema Media operating license on allegations of ‘ethical violations’ Addis Abeba – The Ethiopian Media Authority (#EMA) announced today that Wazema Media, commonly known as Wazema Radio, has returned its operational license in Ethiopia. In a statement released on Saturday, the Authority claimed the media outlet returned its recognition and license because it was "unwilling to work while respecting the Ethiopian Constitution and the Media Proclamation, as well as guidelines and professional ethics." The EMA, which had granted Wazema Media an online media license, stated that its decision followed continuous monitoring and "tips and comments" received from the public. According to the regulator, Wazema’s reporting was found to be "contrary to the country's national interest, lacking balance, [and] failing to include responses from federal and regional governments." The Authority further alleged that... https://www.facebook.com/share/p/1HzHJemEWM/

Addis Standard

@addisstandardeng · Post #21527 · 25.02.2026 г., 17:06

News: “Closing independent media outlets like #Wazema and #Addis_Standard is an attack on freedom of expression and democratic principles” – #EPRP The #Ethiopian People's Revolutionary Party (EPRP) has condemned the closure of independent media institutions, describing actions against outlets including Wazema and Addis Standard as “an attack on freedom of expression and democratic principles,” as the Committee to Protect Journalists (#CPJ) called on authorities to immediately restore Addis Standard’s registration, warning that the move amounts to retaliation rather than regulation. In a statement issued today, 25 February 2026, the party said shutting down independent media, revoking licenses of international outlets, and harassing media professionals undermines the country’s democratic trajectory. “Preaching free and democratic elections while banning media, arresting and chasing away journalists, and locking down the civic space is mocking the public... Read more: https://addisstandard.com/?p=55397