Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
💛 Bugun oddiy kun emas.Bu — sen o‘zingni isbotlaydigan kun.
🕊 Kimdir hali “yana 5 daqiqa” deydi…Sen esa “hozir boshlayman” deganlardan bo‘l.
📌 Esingda bo‘lsin:Hayot — kutganlarga emas,harakat qilganlarga jilmayadi.
🌅 Bugun boshqacha yashab ko‘r.Balki aynan shu kun — hammasini o‘zgartirar.
#motivation
🛫@Milliarderlarim
💱#motivation
🫴 "Har bir katta o‘zgarish — kichik bir qadamdan boshlanadi. Harakatdan to‘xtama, orzularing yo‘lida yurishda davom et!"
Do'stlarga ham ulashing
🛫@Milliarderlarim
🔝#motivation
👍 "Kichik qadamlar katta o'zgarishlarga olib keladi."
Agar hozir boshlamasangiz, bir yildan keyin ham shu joyda bo‘lishingiz mumkin. Ammo bugun kichik bir qadam tashlasangiz, bir yil ichida o‘zgarishingiz mumkin.
Shunchaki boshlang. Hozir. Bugun.
Shubha qilsangiz ham, davom eting.
Hech kim sizga ishonmasa ham, o‘zingizga ishoning.
🫶Hayrlı kun yaxshilar!! Barcha maqsadlaringiz gozal tarzda amalga oshsin! 💕
Do'stlarga ham ulashing!
🏆@Milliarderlarim
💱#motivation
🫴 "Har bir katta o‘zgarish — kichik bir qadamdan boshlanadi. Harakatdan to‘xtama, orzularing yo‘lida yurishda davom et!"
Do'stlarga ham ulashing
🛫@Milliarderlarim
🔜#motivation
Harakat – bu orzularni haqiqatga aylantiradigan kuchdir. Boshlamasang – o‘zgarmaydi. Qadam tashla, natija keladi! 💞
Do'stlarga ham ulashing!
🔵@Milliarderlarim
👍#motivation
✔️ Muvaffaqiyat osmondan tushmaydi, u harakat, sabr va ishonch bilan yaratiladi.
✔️ Harakat qilgan odamda har doim umid bor. Harakat to‘xtasa – orzular so‘nadi.
✔️Bugun qilgan mehnating – ertangi muvaffaqiyatingning poydevori.
✔️ Qiyinchiliklar – bu sinov emas, o‘sishga imkoniyatdir.
Hayrlı kun @Milliarderlarim
Bugün sevgi va yutuqlarga boy kun! ❤️
Do'stlarga ham ulashing!
🫴@Milliarderlarim
👀#motivation
O‘zgarish qo‘rqinchli, lekin bir joyda qolish undan ham qo‘rqinchli.
O‘zing uchun harakat qil, ertangi “sen” senga rahmat aytsin!
Do'stlarga ham ulashing
🏆@Biglibrary_uz
#motivation
▶️ O‘z hayotingizning rejissyori bo‘ling!
Hayot – bu sahna, siz esa uning bosh qahramoni va rejissyorisiz. Qanday ssenariy yozsangiz, shunday yashaysiz.
🎬 Orzularingiz – bu filmning eng muhim syujeti. Ularni unutmang!
🎬 Harakatlaringiz – natijani belgilovchi rejissyorlik qarorlaringiz.
Agar boshqalar hayotingizni boshqarishini istamasangiz, kamerani o‘z qo‘lingizga oling! Bugun o‘z orzularingiz sari bir qadam tashlang.
📹
✨
Do'stlarga ham ulashing
👍@Milliarderlarim
#motivation
🙂 Hayrli kun @Milliarderlarim
Keling bugungi kunni 400 ta tabassum kuni deb nomlaymiz! Qani Kim uddalaydi bugün 400 ta tabassumni
🛒 Eng yaxshi tayyorgarlik - bu Ishga kirishish Va boshlash!!
🧾 Orqaga surib yurgan rejalaringizni Bugün Boshlang! HOZİROQ boshlang
❤️
Yurakchani ham bosib qo'ying
🛫@Milliarderlarim
#motivation🩷🩷🩷🩷
Foyda keltirmaydigan ishlarni to'xtating!
Kelajak hozirdan boshlanadi! Hozirdan energiyangizni foydali ishlarga sarflang!
🩷 Reaksiyalarni bosib qo'ying
@Milliarderlarim
🔗#Motivation
🩷 Sen hayotga nimadir bera olsang, Hayot ham senga albatta javob qaytaradi!
Qarang Juda chiroyli jumlalar-a. Meni o'ylantirib qo'ydi. Siznichi? Siz nima angladingiz, kommentlarda yozingchi✍️
@Milliarderlarim