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

Резултати

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

Пребарај: #day4

当前筛选 #day4清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #380 · 26.12.2021 г., 12:08

Gʻolibni tabriklaymiz:🥳 Rahmatullox (Andijondagi ustasi) Siz quyidagi sovrinlarni yutdingiz: Soyabon + KNAUF esdalik sovgʻalari🎄 - - - - - Поздравляем победителя:🥳 Rahmatullox (Мастер из Андижана) Вы выиграли: Зонтик + сувениры от КНАУФ🎄 #day4

Hashtags

Designer Muhammadjon

@designbymuhammadjon · Post #542 · 16.06.2025 г., 04:10

#blog#day4 💵 Narxni qanday belgilayman? 💸 “Logotip necha pul?” degan savolga qanday javob berish kerak? 👎 Muammo: “Men narx aytganda mijoz cho‘chib qoladi yoki pastroq so‘raydi.” ✅ Yechim: Narxni quyidagicha belgilang: 1. Ishga ketadigan vaqt (soatlab baholang) 2. O‘z tajribangiz va bozordagi o‘rtacha narxni inobatga oling 3. Fiks narxlar seti tuzing: Masalan — Logotip: 200 💲, Poster: 10 💲 Tavsiya: Har doim xizmat qiymatini tushuntirib bering. “Bu logotip faqat chiroy emas — bu brend qiymati.” 💰 Bonus: “Narxni so‘ramasdan oldin xizmatlar ro‘yxati” — shablon tayyorlab qo‘ying! @muhammadjon_0161https://t.me/designbymuhammadjon

Hashtags

Тексты Тела

@textytela · Post #444 · 20.02.2024 г., 07:52

ДЖОН О’ДОНОХЬЮ. ЗА СВОБОДУ (пер.Н.Пресс) Как птица парит в вышине в вольных объятиях ветра, Видя надежность земли, И воплощая фантазию ветра В красоте пустоты, Так и твоя жизнь да пробудится К зову свободы. Как океан освобождается От ожиданий суши, Приходя к ней Только волной, Что ласкает, наполняет и падает Так медленно и так изящно Словно обозначая Звуковой порог, Чья музыка сопровождает эхом Дары и тяготы воспоминаний, Так пусть и сердце познаёт терпение, что извлекает вечность из ограничений. Земля в свои объятья Принимает всех, чей час настал, Забирает в глубину Тесную зерна уединенность, Давая время Сбросить оковы старой формы Дать место щедрости, которая однажды Вынесет его наверх, Прямо в весну и будет дерево. Пусть все, что тебя держит, Ослабив хватку, упадёт В чернозём и волны сердца. #49daysforfreedom#day4

Тексты Тела

@textytela · Post #604 · 06.06.2024 г., 06:33

У замечательной журналистки Галины Артеменко есть отличный проект «Настоящий XX век» на музейном радио в Фонтанном доме. Зимой поговорили с ней о текстах XX века, Стиге Дагермане, отчаянии и надежде. Подкаст можно послушать здесь https://xxvek.mave.digital/ep-97 А я тем временем вычитываю редакторскую правку дебютного романа Дагермана «Змея» 1945 года. Финишная прямая, уже скоро. #49daysforhope#day4

KNAUF Uzbekistan

@knaufuzbekistan · Post #578 · 17.08.2023 г., 13:07

🧐Javoblar qabuli yakunlandi. Agar siz 8 ta savoldan 7 tasiga javob bergan bo'lsangiz, siz yutuqli o'yinda qatnashasiz.😊 Yutuqli o'yin bugun soat 18:30 da bo'lib o'tadi.👌 Omad! - - - - 🧐Прием ответов завершён. Если вы ответили на 7 из 8 вопросов, вы участвуете в розыгрыше.😊 Розыгрыш дня состоится сегодня в 18:30.👌 Удачи! #tanlov#day4

Hashtags

KNAUF Uzbekistan

@knaufuzbekistan · Post #376 · 26.12.2021 г., 10:00

🧐Javoblar qabuli yakunlandi. Agar siz 5 ta savoldan 4 tasiga javob bergan bo'lsangiz, siz yutuqli o'yinda qatnashasiz.😊 Yutuqli o'yin bugun soat 17:00 da bo'lib o'tadi.👌 Omad! - - - - 🧐Прием ответов завершён. Если вы ответили на 4 из 5 вопросов, вы участвуете в розыгрыше.😊 Розыгрыш дня состоится сегодня в 17:00.👌 Удачи! #tanlov#day4

Hashtags

Embassy of Russia in Brunei

@rusembbrunei · Post #161 · 27.09.2022 г., 00:19

🇺🇳 The High-Level Week of the 77th Session of the UN General Assembly has come to an end. #Day4 main highlight 👉 FM Sergey Lavrov's Remarks at the General Debate. The Minister touched upon the most topical issues on the international agenda. 📹 The essence of the speech in 1 minute. #UNGA77

Hashtags

KNAUF Uzbekistan

@knaufuzbekistan · Post #583 · 17.08.2023 г., 13:37

Gʻolibni tabriklaymiz:🥳 Umid Eshmanov Siz quyidagi sovrinlarni yutdingiz: Rashpelhobel randasi Qalam Brelok Ruchka-ruletka - - - - - Поздравляем победителя🥳 Умид Эшманов Вы выиграли: Обдирочный рубанок Карандаш Ручка-рулетка Брелок #knaufuzbekistan #tanlov23 #knaufqk23 #day4

Media maps 🌏

@mediamaps · Post #257 · 04.11.2025 г., 14:05

Тема четвёртого ноября — собственные данные. С маршрутами путешествий в рамках эфирных задач мы сталкиваемся очень часто. А специально для челленджа Софа отобразила на карте маршрут её путешествий по югу России. Стартовала всегда из Невинномысска и использовала разные виды транспорта. Ездила на машине в Крым и Карачаево-Черкесию, на общественном транспорте покоряла Краснодар, Пятигорск, Архыз и другие популярные российские курорты. На карте показаны путешествия за четыре года, и останавливаться на достигнутом @Sophie_star не планирует. #30DayMapChallenge#Day4#MyData#Cartography#GIS

12
ПретходнаСтраница 1 од 2Следна