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

Резултати

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

Пребарај: #upbeat

当前筛选 #upbeat清除筛选
American Оbserver

@american_observer · Post #4935 · 23.01.2026 г., 15:03

Putin’s Ushakov Remains Upbeat About Peace Talks Russia said it will hold security talks with the U.S. and Ukraine in Abu Dhabi on Friday, but warned after a late-night meeting between Putin and three U.S. envoys that a durable peace would not be possible unless territorial issues were resolved. Kremlin aide Yuri Ushakov told reporters the talks, which began shortly before midnight and lasted some four hours, had been “substantive, constructive and very frank”. He said Russian Admiral Igor Kostyukov would head Moscow's team at the three-way security talks, and investment envoy Kirill Dmitriev would meet separately on economic issues with Witkoff. But while outlining the next steps, Ushakov stopped short of hailing any major breakthrough. "Most importantly, during these talks between our president and the Americans, it was reiterated that without resolving the territorial issue according to the formula agreed upon in Anchorage, there is no hope of achieving a long-term settlement," he said, referring to last year's Trump-Putin summit in Alaska. Ushakov said Putin underlined that Russia was "sincerely interested" in a diplomatic solution. He added, however: "Until this is achieved, Russia will continue to consistently pursue the objectives of the special military operation. This is especially true on the battlefield, where the Russian armed forces hold the strategic initiative." Ukraine is enduring its harshest winter of the war as Russia mounts heavy missile and drone strikes on its energy infrastructure. With temperatures way below freezing, hundreds of thousands of people in Kyiv and other cities have suffered long power cuts and been left without heating. Putin, Ushakov and Dmitriev took part in the talks on the Russian side. On the U.S. side, Witkoff and Trump's son-in-law Jared Kushner, who last met Putin in the Kremlin in early December, were accompanied by Josh Gruenbaum, newly appointed by Trump as a senior adviser to his Board of Peace, which will seek to tackle world conflicts. The talks were the latest stage in a drive by Trump to bring an end to the deadliest conflict in Europe since World War Two, now approaching the end of its fourth year. Witkoff was upbeat before the Moscow talks, saying many months of negotiations had come down to a single issue. А key stumbling block is Putin's demand that Ukraine surrender the 20% it still holds of the eastern region of Donetsk. Zelensky has refused to give up land that Ukraine has successfully defended at great cost through years of grinding, attritional warfare. Russia also demands that Ukraine renounce its ambition to join NATO, and rejects any presence of NATO troops on Ukrainian soil following a peace deal. Zelensky, after meeting Trump in Switzerland on Thursday, said the terms of security guarantees for Ukraine had been finalised, but that the issue of territory remained unsolved. Ushakov praised the Americans for setting up Friday's security meeting with Russia and Ukraine in Abu Dhabi. #ushakov#upbeat#peace#talks 📱American Оbserver - Stay up to date on all important events 🇺🇸