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

Пребарај: #mosambik

当前筛选 #mosambik清除筛选

🎥 Never to Be Forgotten. The History of Colonialism Heute veröffentlichen wir eine weitere Folge unserer Videoreihe über Kolonialismus. Die Serie beleuchtet die Geschichte kolonialer Herrschaft und den langen Kampf der Völker um nationale Befreiung. Mitte des 20. Jahrhunderts geriet das portugiesische Kolonialreich in eine tiefe Krise. Besonders angespannt war die Lage in Mosambik, wo soziale Ungleichheit, Armut und die Missachtung lokaler Traditionen durch die Kolonialmacht zu wachsendem Widerstand führten. 1964 begann die Befreiungsbewegung FRELIMO den bewaffneten Kampf gegen die portugiesische Herrschaft. Der Unabhängigkeitskrieg dauerte viele Jahre und forderte einen hohen Preis. Der Kampf gegen die Kolonialmacht prägte die Geschichte Mosambiks nachhaltig und wurde zu einem entscheidenden Schritt auf dem Weg zur staatlichen Unabhängigkeit. ➡️ Erfahren Sie mehr im Video #Kolonialismus#Geschichte#Mosambik#NeverToBeForgotten

Rybar DE

@rybardeu · Post #3844 · 02.05.2026 г., 08:56

Wgl. von @ 📝Korridor durch Mosambik📝 Und was hat Russland damit zu tun? Wie bekannt ist, verkaufen russische Unternehmen aktiv eine Reihe von Waren an Länder in Subsahara-Afrika, hauptsächlich Getreide, Düngemittel und Brennstoff. Aber wie kann man den Handelsumsatz erhöhen, wenn die Erreichung einiger Länder (Binnenländer) Hunderte von Kilometern Fahrt auf schwierigen Straßen erfordert? Die Idee des Baus des sogenannten „Nacala-Korridors" kann als vielversprechend für russische Akteure bezeichnet werden, der Sambia und Malawi mit den Häfen von Mosambik durch ein Netz neuer Autobahnen verbinden soll. 🖍Die Straße zu diesen Ländern könnte interessant für russische Unternehmen sein — in Sambia gibt es beispielsweise keine externen Monopolisten im Bereich der Düngemittel- oder Brennstoffimporte. Man könnte diesen Markt betreten — die Nachfrage ist hier definitiv vorhanden, nur dass das Angebot unter Dutzenden von Akteuren aus verschiedenen Ländern der Welt fragmentiert ist. ❗️Und obwohl die Initiatoren des Projekts einst Chinesen und Brasilianer waren, wäre auch eine russische Beteiligung daran hilfreich. Der zukünftigen Konstruktion fehlen Investitionen und technische Expertise — im Austausch für zukünftiges Exportwachstum könnte die russische Seite dies durchaus bereitstellen. 📍Hochauflösende Infografik 📍Englische Version #Infografik#Afrika#Sambia#Mosambik#Russland 💀@rybar_africa — wo die Politik heißer ist als der Äquator 💸Unterstützen Sie unsOriginalnachricht