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

Резултати

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

Пребарај: #russian

当前筛选 #russian清除筛选
Великий Иран( Iran &Russia)

@russiantravelty · Post #1239 · 24.05.2025 г., 06:11

Есть вещи, ради которых стоит жить, а есть люди, которых следует забыть. И чем раньше ты это сделаешь, тем быстрее вспомнишь ради чего ты живешь. С добрым утром ❤️ چیزهایی هستند که ارزش زندگی کردن را دارند و افرادی هستند که باید فراموش شوند. و هر چه زودتر این کار را بکنید ، زودتر به یاد خواهید آورد که برای چه چیزی زندگی می کنید. #Russian travel # @pashak2093

Hashtags

Великий Иран( Iran &Russia)

@russiantravelty · Post #1559 · 04.09.2025 г., 12:50

Иранский музыкальный инструмент " неи анбан"( Bagpipes). Играет под названием " БАНДАРИ" Этот инструмент появился в " БАБОЛСКИЙ ВРЕМЕНА, 2000 лет до наши эри " в Персидский империи. #Russian travel #Иран&Россия #Иран #музыка# ایران# Russian travel @pashak2093

Великий Иран( Iran &Russia)

@russiantravelty · Post #1225 · 21.05.2025 г., 11:05

Что бы оказаться в настоящем Зазеркалье, не надо попадать в сказку. Достаточно посетить Шах-черах - "Зеркальную мечеть" в иранском городе Шираз. Построено это чудо было в XIV веке. Шах-черах - усыпальница Ахмеда и Мухаммеда (братьев восьмого имама шиитов). Снаружи она выглядит как обычная мечеть: с детализированными изразцами, окаймленными золотом минаретами и голубым куполом. Но изнутри Шах-Черах от пола до потолка отделана миллионами сверкающих зеркал. Представьте, что вы оказались внутри самого роскошного в мире калейдоскопа - и поймете, что ощущает человек, оказавшись внутри мечети. Ощущение непередаваемое. Никакая камера, никакие мои слова не передают красоту (во всех смыслах) и изящество этого чуда. Это надо видеть, это надо почувствовать. دید از یک افسانه برای اینکه خود را در یک Through the Looking Glass واقعی بیابید، لازم نیست در نهایت در یک افسانه قرار بگیرید. برای بازدید کافی است شاه چراغ - «مسجد آیینه» در شهر شیراز. این معجزه در قرن چهاردهم ساخته شده است. شاه چراغ آرامگاه احمد و محمد (برادران امام هشتم شیعیان) است. از بیرون شبیه یک مسجد معمولی است، با کاشی‌های دقیق، مناره‌هایی با لبه‌های طلا و گنبدی آبی. اما از داخل، شاهچراخ از کف تا سقف با میلیون ها آینه درخشان تزئین شده است. تصور کنید که خود را در مجلل ترین کالیدوسکوپ جهان می بینید - و متوجه خواهید شد که وقتی یک فرد در داخل مسجد است چه احساسی دارد. حسی که قابل وصف نیست هیچ دوربین و هیچ کلمه ای از من نمی تواند زیبایی (به تمام معنا) و لطف این معجزه را منتقل کند. این را باید دید، این را باید حس کرد #Russian travel #Иран&Россия #Иран #Шираз# ایران، شیراز @pashak2093

Великий Иран( Iran &Russia)

@russiantravelty · Post #1164 · 09.05.2025 г., 06:08

🙌🇷🇺🙌День Победы — это символ несгибаемого духа и величия народа! ⭐️Это день памяти о героизме миллионов, кто плечом к плечу сражался за свободу и мир — от Балтики до Тянь-Шаня, от Кавказа до Сибири. ⭐️Друзья, поздравляю вас с этим великим праздником — праздником силы, стойкости и бесконечной благодарности поколению победителей! #Russian travel #Иран&Россия #Россия #ПОБЕДА# روسیه، روز پیروزی بر فاشیسم @pashak2093

123•••910
ПретходнаСтраница 1 од 10Следна