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

Резултати

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

Пребарај: #eslatmalar

当前筛选 #eslatmalar清除筛选
Behzod Otajonov visual artist

@behzod_otajonov · Post #1724 · 23.01.2025 г., 07:36

BAMBUK NAZARIYASI🎋 Bambukni ekib, muntazam sug'orib va parvarish qilsangiz, birinchi yil hech qanday o'zgarish sezilmaydi. 2-, 3-, va 4-yilda ham biror o'sish alomatlari ko'rinmaydi. Ammo aslida, bu vaqt davomida bambuk yer ostida kuchli ildiz tizimini rivojlantiradi. So'ngra, 5-yil kelib, bambuk bir necha hafta ichida 25-30 metr balandlikka o'sishi mumkin! Bu nimani anglatadi? ⭐️ Sabr-toqat: Hayotda muvaffaqiyatga erishish uchun vaqt va tinimsiz mehnat talab etiladi. Dastlab natijalar ko'rinmasa ham, ishonchni yo'qotmang. 🔥 Mustahkam asos: Bambukning ildizlari kabi, natijaga erishish uchun ham puxta tayyorgarlik va kuchli poydevor kerak. 💥 Portlash vaqti: To'g'ri vaqt kelganda, barcha mehnatlar natijasi yorqin namoyon bo'ladi. Xulosa: Hayotda bambuk singari sabr qiling, mustahkam asos quring va oxirida katta natijalarga erishing! @Azamatjon_design | #eslatmalar

Hashtags

Azamatjon · Blog!

@azamatjon_designer · Post #56 · 13.02.2025 г., 11:31

Bu qoida hayotda ko‘p muammolarni oldini olishga yordam beradi. Jahl ustida javob, xursandlikda va’da , kayfiyat yomonligida esa qaror bermaslikka harakat qilaman. Chunki bu oddiy qoidaga amal qilmagan har bir lavhadan qattiq pushaymon bo'lganman! Xulosa: Hissiyotlar ta’sirida shoshilinch qaror bermaslik kerak! @Azamatjon_design | #eslatmalar

Hashtags

Azamatjon · Blog!

@azamatjon_designer · Post #50 · 23.01.2025 г., 04:15

BAMBUK NAZARIYASI🎋 Bambukni ekib, muntazam sug'orib va parvarish qilsangiz, birinchi yil hech qanday o'zgarish sezilmaydi. 2-, 3-, va 4-yilda ham biror o'sish alomatlari ko'rinmaydi. Ammo aslida, bu vaqt davomida bambuk yer ostida kuchli ildiz tizimini rivojlantiradi. So'ngra, 5-yil kelib, bambuk bir necha hafta ichida 25-30 metr balandlikka o'sishi mumkin! Bu nimani anglatadi? ⭐️ Sabr-toqat: Hayotda muvaffaqiyatga erishish uchun vaqt va tinimsiz mehnat talab etiladi. Dastlab natijalar ko'rinmasa ham, ishonchni yo'qotmang. 🔥 Mustahkam asos: Bambukning ildizlari kabi, natijaga erishish uchun ham puxta tayyorgarlik va kuchli poydevor kerak. 💥 Portlash vaqti: To'g'ri vaqt kelganda, barcha mehnatlar natijasi yorqin namoyon bo'ladi. Xulosa: Hayotda bambuk singari sabr qiling, mustahkam asos quring va oxirida katta natijalarga erishing! @Azamatjon_design | #eslatmalar

Hashtags

Azamatjon · Blog!

@azamatjon_designer · Post #58 · 27.02.2025 г., 08:48

SHOGIRLIK INQIROZI! Hozirgi kuzatuvlarimdan kelib chiqib, dolzarb va juda muhim masalaga e'tibor qaratmoqchiman. Hozirda (turli sohalarda tez daromad keltiruvchi kasblar) bo‘yicha kurslarni bitirgan o‘quvchilar aksariyat hollarda to‘g‘ridan-to‘g‘ri ishga kirishga intilmoqda. Bu yaxshi yo‘l, lekin birdaniga 3-6 oy ichida mutaxassis bo‘lish haqiqatga yaqin emas. Avvallari (sartaroshlik, ustachilik va hokazo) kasblar bo‘yicha ustalarga shogird tushilar, ularning yonida yillar davomida ishlanar edi. Qachonki usta "Fotiha" bersa, shogird mustaqil ish boshlagan. Ya'ni bu jarayon mutaxassis bo‘lish darajasiga yetguncha 3-5 yil yoki undan ham ziyod davom etgan. Hech qanday haq evazsiz va kutuvlarsiz, ustozga xizmat qilib tajriba orttirilgan. Oxirgi paytlarda esa bu holat yo‘qolib borayotgandek go'yo. Kursni bitirgan ko‘plab "mutaxassislar" o‘zlarini sohaning Pro Ultra ustasi deb bilishadi. Lekin ular o‘z bilimlari va amaliy tajribasi yetarli emasligini anglamaydi. Va bundaylardan ko'plab ish beruvchilar ham aziyat chekmoqda. Xulosa: 3-6 oylik kurs bilan to‘laqonli mutaxassis bo‘lish qiyin. Qaysi zamonaviy kasbni o‘rganmang, o‘zingizga shu sohada katta tajribaga ega ustoz toping va ulardan bilim oling. Ya'ni tavsiyam kerak bo'lsa tekinga ishlang! Ustoz bo'la oladigan mutaxassislar bilan ishlang va ulardan bilimlarni, duolarni oling! Ustoz bilan ishlash, rivojlanish - sizni haqiqiy professional qiladi @Azamatjon_design#eslatmalar#problem_solution

Azamatjon · Blog!

@azamatjon_designer · Post #72 · 26.03.2025 г., 19:24

#PROBLEM Dunyoda adolatsizlik bor – ba’zilar ko‘p narsaga ega, boshqalar esa hech narsasiz... #SOLUTION Odamlar bir-biriga yordam berishi kerak – agar hamma faqat o‘zini o‘ylasa, hayot yomonlashadi. Faqat birlikda adolat bo‘lishi mumkin. Xulosa: Ba’zilarning ko‘p narsaga ega bo‘lishi faqat boylik bilan emas, balki salohiyat, imkoniyat, nasab, sog‘liq, yashash joyi kabi ustun jihatlar bilan farqlanadi. Hech narsasiz deganda esa, sog‘liq muammolari, nizolar, ochlik, qashshoqlik, ilmsizlik va boshqa imkonsiz holatlar tushuniladi. Yechim: Odamlar bir-biriga yordam berishi kerak, ya’ni bilgan bilmaganga o‘rgatishi, to‘q ochni to‘ydirishi, imkonli inson imkonisizga ko‘mak berishi lozim. Ya’ni, biz qanday vaziyatda bo‘lmaylik, bizdan pastdagilarga yordam berishimiz, o‘z ustimizda ishlashdan to‘xtamasligimiz va shukr qilishimiz kerak. @Azamatjon_design#eslatmalar#problem_solution