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

Пребарај: #kinoinberlin

当前筛选 #kinoinberlin清除筛选
Russisches Haus in Berlin

@rushaus · Post #2127 · 26.02.2026 г., 22:20

„Der Sommer wird enden“ - Drama mit dem oskarnominierten Schauspieler Yury Borisov Der Film erzählt die Geschichte von Kescha, einem 27-jährigen Mann, der nach Verbüßung einer Haftstrafe in sein Heimatdorf in Jakutien zurückkehrt, um einen Neuanfang zu wagen. Zunächst scheint alles möglich: Seine Familie steht hinter ihm, er findet Arbeit in einer Goldabbau-Kooperative, und sein jüngerer Bruder Tima bereitet sich auf die Aufnahme an einer Universität vor. Doch die Hoffnung auf ein ruhiges Leben zerbricht, als Kescha an seinem neuen Arbeitsplatz betrogen wird. In dem Versuch, sich zu rächen und zugleich zu überleben, trifft er gemeinsam mit seinem Bruder eine folgenschwere Entscheidung: Sie stehlen Gold. Bald befinden sich die beiden auf der Flucht, verfolgt von ihren Gegnern, und müssen einen Ausweg aus einer immer bedrohlicheren Situation finden. Die Filmvorführung findet am 3. März um 19:00 statt. 18+ Meldet euch rechtzeitig an! #Kino#RussischesKino#KinoinBerlin#Film

„Der Sommer wird enden“ - Drama mit dem oskarnominierten Schauspieler Yury Borisov Der Film erzählt die Geschichte von Kescha, einem 27-jährigen Mann, der nach Verbüßung einer Haftstrafe in sein Heimatdorf in Jakutien zurückkehrt, um einen Neuanfang zu wagen. Zunächst scheint alles möglich: Seine Familie steht hinter ihm, er findet Arbeit in einer Goldabbau-Kooperative, und sein jüngerer Bruder Tima bereitet sich auf die Aufnahme an einer Universität vor. Doch die Hoffnung auf ein ruhiges Leben zerbricht, als Kescha an seinem neuen Arbeitsplatz betrogen wird. In dem Versuch, sich zu rächen und zugleich zu überleben, trifft er gemeinsam mit seinem Bruder eine folgenschwere Entscheidung: Sie stehlen Gold. Bald befinden sich die beiden auf der Flucht, verfolgt von ihren Gegnern, und müssen einen Ausweg aus einer immer bedrohlicheren Situation finden. Die Filmvorführung findet am 3. März um 19:00 statt. 18+ Meldet euch rechtzeitig an! #Kino#RussischesKino#KinoinBerlin#Film

Russisches Haus in Berlin

@rushaus · Post #2126 · 22.02.2026 г., 20:09

„Ewiger Winter“ - Drama in russischer Sprache mit englischen Untertiteln Die Geschichte konzentriert sich auf die Familie von Wladimir und Elena, deren Leben nach dem tragischen Tod ihres Sohnes aus den Fugen gerät. Die Mutter versucht, ihren Sohn über sein Tagebuch besser zu verstehen und zugleich einen Zugang zu den eigenen Gefühlen zu finden. Der Vater hingegen wird von dem Wunsch besessen, die Schuldigen aufzuspüren und zu bestrafen, was ihn zum Gefangenen seines eigenen Schmerzes und Zorns macht. Der Film zeigt, wie Trauer, Schuld, Verzweiflung und das Bedürfnis nach Gerechtigkeit unterschiedlich auf Menschen wirken und wie schwer es ist, nach einem Verlust einen Weg zu Akzeptanz und zur Wiederannäherung zu finden. Die Filmvorführung findet am 26. Februar um 19:00 Uhr statt. FSK: 18+ Meldet euch rechtzeitig an! #Kino#RussischeFilm#KinoinBerlin#EwigerWinter#DramaFilm

Russisches Haus in Berlin

@rushaus · Post #1407 · 24.09.2024 г., 10:47

"Peter der Große: Der letzte Zar und der erste Kaiser" – der beliebte historische Film🎞️ wird in russischer Sprache mit englischen Untertiteln am 1. Oktober um 19:00 Uhr im Filmtheater im Russischen Haus in Berlin gezeigt! • Wie bestieg Peter der Große den Thron, obwohl er das vierzehnte Kind in seiner Familie war?👑 • Wie gelang es ihm, den Zugang zum Meer zurückzugewinnen, obwohl das Land keine professionelle Armee und Marine hatte?🪖 • Wie schaffte er es, Russland innerhalb weniger Jahrzehnte an die Weltspitze zu führen, obwohl das Land zuvor kaum ernst genommen wurde?🤔 Ihr habt eine tolle Chance, diese dokumentarische Rekonstruktion auf einer großen Leinwand📺 anzuschauen: kommt unbedingt vorbei und erfahrt mehr über die wichtigen Momente in der Geschichte Russlands!😍🍿 🎟️ Eintritt frei #doku#historischerfilm#geschichte#kinoinberlin#russischeshausberlin#peterdergroße#russischerzar#gratisevent#russischeskino